У меня есть приложение, некоторые функции которого планируются через crontab.
Есть ли способ сохранить эти команды, запущенные из crontab, в репозитории git и одновременно добавить их в crontab пользователя?
Первой моей мыслью было добавить * * * * * crontab /home/user/git_repository/crontab
новую строку в crontab -e
, чтобы он всегда автоматически ее использовал, но crontab -h
говорится, что (default operation is replace, per 1003.2)
, в то время как я просто хочу, чтобы мой специальный crontab обрабатывался в дополнение к crontab пользователя, поэтому я не уверен, что это правильный способ сделать это.
решение1
Сначала вопрос. Cron хранятся в "/var/spool/cron/crontabs" или подобном, в зависимости от дистрибутива. Вы можете добавить это в git (возможно, только crontab вашего пользователя, а не весь каталог), но для этого вам нужен root-доступ. Я думаю, вам может потребоваться перезапустить cron, чтобы он перезагрузил crontab, если вы вручную обновите его.
Во-вторых, ошибка выглядит как эксклюзивная блокировка. Видимо, вы не можете crontab во время crontab, что имеет смысл, чтобы не перезаписывать.
Для синхронизации на системном уровне и прочего я использую ansible, но для этой небольшой задачи это может оказаться излишним.