2

У меня проблема с задачами cron. Ранее этот сценарий работал нормально на сервере Mac OS X 10.6, но когда я инициализировал его на Lion (клиент), этот сценарий перестал работать.

По сути, этот файл .bat вызывает файл jar (который вызывает цикл команд mysqldump ) для резервного копирования нескольких баз данных на нескольких серверах и отлично работает, если запускается оболочкой.

cd /Users/nameoftheuser/Desktop/backupper 
/usr/bin/java -cp .:Backupper.jar:lib/mail.jar backupper.Main "/Users/nameoftheuser/Desktop/backupper/listasiti.txt" "/Users/nameofthe/Desktop/backupper/config.properties

Но если cron запускает тот же файл .bat , сгенерированные резервные копии базы данных составляют 0 байтов.

Запись cron:

0     0     sh /Users/path/to/file.bat

Я считаю, что проблема в том, что cron не запускается как root . Или что еще?

1 ответ1

1

Я бы сделал это способом OS X и использовал launchd вместо cron. Вы делаете это, написав LaunchAgent. Это в основном .plist в /Library /LaunchAgents или ~ /Library /LaunchAgents, который сообщает launchd, какой скрипт запускать и каким должен быть триггер для запуска скрипта.

launchd позволяет вам контролировать, должен ли скрипт запускаться вошедшим в систему пользователем или пользователем root.

Lingon.app - хороший способ начать работу с LaunchAgents и управлять ими.

Также может помочь справочная страница Apple Developer Connection .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .