Может ли гем всегда сохранять существующие строки в файле 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

Тогда всякий раз, когда вы вызываете указанную выше команду, она обновляется только там, где находит указанный вами идентификатор.

Другие вопросы по тегам