Работа Ubuntu 10.04 LTS Cron не работает - PullRequest
3 голосов
/ 21 января 2011

Я пытаюсь использовать cronjob для запуска сценария ruby ​​(с использованием Rails3 runner) со следующими Cronjobs:

    #!/bin/bash
    0-59 * * * * echo 'script test'

    # Begin Whenever generated tasks for: test1
    * * * * * /bin/bash -l -c '/home/administrator/test1/script/rails runner /home/administrator/test1/app/create_flag.rb >> /home/administrator/test1/test.log 2>&1'

# End Whenever generated tasks for: test1

test1 - имя папки проекта Rails3.

"echo 'script test'" был добавлен как тест, но ни один из них, похоже, не выполняется. В настоящее время я использую Ubuntu 10.04 LTS .

Я правильно написал cronjob?

Ответы [ 3 ]

2 голосов
/ 21 января 2011

Файл Crontab не является сценарием оболочки.Таким образом, вам не нужно #!/bin/bash в начале файла.Плюс, пробелы там подозрительны.Попробуйте что-то вроде этого:

SHELL=/bin/bash
MAILTO=administrator@localhost
BASH_ENV=/home/administrator/.bash_profile

* * * * * /home/administrator/test1/script/rails runner /home/administrator/test1/app/create_flag.rb >> /home/administrator/test1/test.log 2>&1'

Plus, убедитесь, что вы называете crontab -e как administrator для редактирования файла crontab.

1 голос
/ 21 января 2011

Вам нужно указать пользователя, который запускает команды (вы можете увидеть формат здесь . Также echo выведет 'test script' для чего? Если вы хотите выполнить тест, сделайте касание файл, чтобы вы могли физически увидеть действие задания cron.

0 голосов
/ 21 января 2011

Cron не использует вашу пользовательскую среду, поэтому он не будет иметь тот же путь, что и у вас.Это означает, что вы должны использовать абсолютные пути для команд.

...