Saya tidak dapat menjadwalkan peluncuran berkala dengan launchctl
/ launchd
di OS X (Leopard). Pada dasarnya, saya tidak dapat menemukan daftar petunjuk langkah demi langkah di web dan pendekatan intuitif tidak berfungsi.
The sync.plist
File:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>net.madrat.utils.sync</string>
<key>Program</key>
<string>rsync</string>
<key>ProgramArguments</key>
<array>
<string>-ar</string>
<string>/path/to/folder/</string>
<string>/path/to/backup/</string>
</array>
<key>StartInterval</key>
<integer>7200</integer>
</dict>
</plist>
Saya telah menempatkan skrip ini di dalam path ~/Library/LaunchAgents
.
Selanjutnya, saya sudah mendaftarkan skrip menggunakan
launchctl load ~/Library/LaunchAgents/sync.plist
Akhirnya, untuk menguji apakah itu berhasil, saya memulai pekerjaan:
launchctl start net.madrat.utils.sync
- Tidak ada yang terjadi. Menjalankan rsync
perintah di terminal secara manual menghasilkan hasil yang diharapkan.
Saya cukup yakin bahwa pekerjaan itu terdaftar dengan benar karena jika saya mencoba memulai pekerjaan yang tidak ada, saya mendapatkan pesan kesalahan (yang saya tidak dapatkan di perintah di atas).
Apa kesalahan yang telah aku perbuat?
launchctl list
memang menampilkan 1, tetapi hanya setelah saya mulai menggunakan agen secara manuallaunchctl start
.