Я бы хотел использовать анакрон для ежегодной работы. Я вижу только ежедневные, еженедельные и ежемесячные настройки для Anacron. Есть ли способ запустить работу один раз в год?
Конечно, и он уже там с возможными вариантами выбора, которые у вас есть: выберите 1 конкретный день и 1 конкретный месяц, и он будет выполняться один раз в год. День 1 месяца 1 будет 1 января.
Анакрон имеет 2 способа определения линий. Второй вариант выглядит следующим образом:
@period_name delay job-identify command
Период_имя может быть установлен на ежедневный, еженедельный, ежемесячный, годовой или годовой. Это обеспечит выполнение заданий один раз в неделю, месяц или год независимо от количества дней в этом периоде.
Пример
@yearly 0 job1 /usr/bin/execute_me
0 означает отсутствие задержки. job1 - это идентификатор и команда для выполнения.
Я думаю, что это сработает, если мой компьютер не будет работать весь январь:
Файл в /etc/cron.monthly
:
#!/bin/sh
month=`date +%m`
if [ $month -eq 1 ]
then do_yearly_task
fi