1

Я пытаюсь создать mysqldump базы данных с помощью bash-скрипта и автоматизировать процесс с помощью процесса launchd / launchctl для Mac. Я могу успешно запустить скрипт bash вручную для резервного копирования базы данных в терминале, но если я попытаюсь использовать launchd, похоже, ничего не произойдет.

Кто-нибудь знает, в чем может быть проблема?

Вот скрипт bash для mysqldump:

DT=`date +%m_%d_%Y_%H_%M_%S`
/Applications/MAMP/Library/bin/mysqldump --opt -u root -proot --host=localhost extrapolation > /Users/[user]/Desktop/db/extrapolation_$DT.sql

и вот файл 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>extrapolation_db_backup</string>
        <key>ProgramArguments</key>
        <array>
            <string>/Users/[user]/Sites/extrapolationlaunch/dbase_backup.sh</string>
        </array>
        <key>StartInterval</key>
        <integer>120</integer>
</dict>
</plist>

который я сохранил в /Users /[user] /Library /LaunchAgents

Затем я запускаю:

launchctl load ~/Library/LaunchAgents/extrapolation_db_backup.plist`

и если я использую

launchctl list

Я вижу процесс:

-   0   extrapolation_db_backup

Мое предположение, может быть, какая-то проблема с разрешениями, но я не смог ее решить. Любая помощь будет оценена.

0