Tôi không thể lên lịch khởi chạy định kỳ với launchctl
/ launchd
trên OS X (Leopard). Về cơ bản, tôi không thể tìm thấy danh sách hướng dẫn từng bước trên web và phương pháp trực quan không hoạt động.
Các sync.plist
tập tin:
<?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>
Tôi đã đặt đoạn script này vào trong đường dẫn ~/Library/LaunchAgents
.
Tiếp theo, tôi đã đăng ký tập lệnh bằng cách sử dụng
launchctl load ~/Library/LaunchAgents/sync.plist
Cuối cùng, để kiểm tra rằng nó hoạt động, tôi bắt đầu công việc:
launchctl start net.madrat.utils.sync
- Không có chuyện gì xảy ra. Thực hiện thủ công rsync
lệnh trong thiết bị đầu cuối mang lại kết quả mong đợi.
Tôi khá chắc chắn rằng công việc đã được đăng ký chính xác bởi vì nếu tôi cố gắng bắt đầu một công việc không tồn tại, tôi nhận được một thông báo lỗi (mà tôi đã không nhận được trong lệnh trên).
Tôi đã làm gì sai?
launchctl list
đã hiển thị 1, nhưng chỉ sau khi tôi khởi động tác nhân bằng taylaunchctl start
.