Назад | Перейти на главную страницу

Резервное копирование баз данных mysql с помощью launchd - что не так?

Я пытаюсь создать резервную копию своих баз данных на своем новом 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.