Я переписываю некоторые сценарии оболочки на Ruby, которые будут использоваться для резервного копирования определенного контента с нашего сайта.Я использую Ruby 1.8.7, и у меня есть скрипт, работающий локально как root, и он работает нормально.
Я только что попытался добавить скрипт в cronttab на Ubuntu 11.10.
*/5 * * * * ruby /root/code/backup_images.rb local
Когдаcron запускается, я получаю следующую ошибку в системном журнале:
Mar 21 16:15:01 ubuntu CRON[4942]: (root) CMD (ruby /root/code/backup_images.rb local)
Mar 21 16:15:02 ubuntu CRON[4941]: (CRON) error (grandchild #4942 failed with exit status 1)
Я пробовал следующие решения, но безрезультатно:
env -i $SHELL --norc
, который предположительно создает новую открытую оболочку, котораяимитирует то, что запускает crontab, и это прекрасно работает с моим скриптом.
#!/usr/bin/env ruby
Я добавил это объявление в начало моего скрипта, которое не изменило функциональность при его запуске вручную и не решило проблему сcrontab.
Я даже пытался вывести результаты вызова в файл, однако при этом создается только новый файл, в котором ничего нет.
Я не уверен, что еще моглобыть проблемой, но я предполагаю, что Крон не может найти Руби или что-то в этом роде.Я довольно новичок в этом, поэтому я зашел в тупик.
Заранее спасибо!