Я пытаюсь создать резервную копию своих баз данных на своем новом Mac. Я создал сценарий и создал файл launchd plist. Однако кажется, что задача повторяется снова и снова, а не один раз в день. Я установил StartInterval на 86400, но StartInterval, похоже, не влияет.
Что сделать, чтобы он запускался один раз в день, а не серийно?
файл plist:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>label</key>
<string>com.dave.mysqlbackup</string>
<key>ProgramArguments</key>
<array>
<string>/Users/dave/Sites/mysqldump/mysqldump.sh</string>
</array>
<key>OnDemand</key>
<false/>
<key>StartInterval</key>
<integer>86400</integer>
</dict>
</plist>
Спасибо!
Читая launchd.plist
man, она также выглядит так, будто заменяет:
<key>OnDemand</key>
<false/>
С участием:
<key>KeepAlive</key>
<false/>
Может исправить существующий файл plist. И на самом деле, в моем тестировании это устранило проблему. Используя StartInterval
60 секунд моя программа запускалась примерно каждые 10 секунд, пока я не заменил OnDemand
с участием KeepAlive
.
Вы также можете просто поместить свой сценарий оболочки в /etc/periodic/daily
.