Я пытаюсь создать 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
Мое предположение, может быть, какая-то проблема с разрешениями, но я не смог ее решить. Любая помощь будет оценена.