Сценарій Crontab на Mac OS X Lion більше не працює


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. Або що ще?


То що у вашому сценарії, будь ласка? Ми не можемо магічно здогадатися, що працює, а що ні. Якщо ви хочете запустити його з rootcrontab ', просто подивіться: superuser.com/questions/344398/… - також: Як ви редагуєте crontab спочатку? Ви також викликаєте сценарій із оболонки, використовуючи sh …також?
slhck

Запис bat: 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"- Я редагував crontab з nano, увійшов у термінал з тим самим користувачем, де зберігається сценарій, використовуючи вкладки замість пробілів. Сценарій, запущений оболонкою, без ш, але навіть якщо я написав це в cron чи ні, він не працює. Я забув сказати, що встановив час виконання Java, тому що на Lion не встановлено в ОС.
Нопстер

Чи можете ви перевірити, чи працює сам cron? Ви редагували це crontab -e?
slhck

Звичайно, перевірено це, і він працює, результати crontab -e перелічують правильний запис. Файл bat обробляється в потрібний час, але резервне копіювання - 0 байт.
Нопстер

Це змушує мене вважати, що існує проблема із самим додатком для резервного копіювання. Що це, навіть? Backupper.jar? Ви, ймовірно, повинні налагодити його і побачити, чому файли всього 0 байт.
slhck

Відповіді:


1

Я б зробив це в OS X спосіб і використовував запуск, а не cron. Ви робите це, написавши LaunchAgent. Це, в основному, .plist в / Бібліотека / LaunchAgents або ~ / Бібліотека / LaunchAgents, які вказують запускати, який сценарій запускати і яким повинен бути тригер для запуску сценарію.

startd дозволяє контролювати, чи повинен сценарій виконуватись увійшли користувачем або користувачем root.

Lingon.app - це приємний спосіб розпочати роботу з LaunchAgents та керувати нею.

Сторінка "Підключення для розробників Apple" також може допомогти.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.