Может ли гем всегда сохранять существующие строки в файле crontab?
Я использую:
- Ruby 1.9.2
- всякий раз, когда 0.7.2
- Капистрано 2.9.0
- Capistrano-Ext 1.2.1
Я использую всякий раз в сочетании с Capistrano при развертывании для управления файлами crontab.
Я заметил, что он полностью переписывает мои файлы crontab каждый раз.
Я хотел бы иметь возможность устанавливать переменные среды в cron для управления параметрами PATH и MAILTO, которые являются обычными переменными среды cron.
Есть ли способ сделать, чтобы не перезаписывать весь файл crontab, чтобы я мог добавить настройки в мой файл crontab и быть уверенным, что они сохранятся?
1 ответ
Да, ты можешь это сделать. Вам просто нужно присвоить идентификатор задаче, записываемой в crontab:
whenever --update-crontab some_identifier_name
Он сгенерирует запись в crontab следующим образом:
# Begin Whenever generated tasks for: some_identifier_name
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /bin/bash -l -c 'cd /var/www/test/releases/20120416183153 && script/rails runner -e production '\''Model.some_method'\'' >> /tmp/cron_log.log 2>&1'
# End Whenever generated tasks for: some_identifier_name
Тогда всякий раз, когда вы вызываете указанную выше команду, она обновляется только там, где находит указанный вами идентификатор.