Поиск по сайту:

Как использовать команду at для планирования задачи на заданное или более позднее время в Linux


В качестве альтернативы планировщику заданий cron команда at позволяет запланировать однократный запуск команды в заданное время без редактирования файла конфигурации.

Единственное требование состоит в установке этой утилиты, запуске и включении ее выполнения:

yum install at              [on CentOS based systems]
sudo apt-get install at     [on Debian and derivatives]

Затем запустите и включите службу at во время загрузки.

--------- On SystemD ---------
systemctl start atd
systemctl enable atd

--------- On SysVinit ---------
service atd start
chkconfig --level 35 atd on

После запуска atd вы можете запланировать любую команду или задачу следующим образом. Мы хотим отправить 4 ping-зонда на www.google.com в начале следующей минуты (т. е. если сейчас 22:20:13, команда будет выполнена в 22:21:00) и сообщит о результате по электронной почте (-m, требуется Postfix или аналогичный) пользователю, вызвавшему команду:

echo "ping -c 4 www.google.com" | at -m now + 1 minute

Если вы решите не использовать опцию -m, команда будет выполнена, но на стандартный вывод ничего не будет выведено. Однако вместо этого вы можете перенаправить вывод в файл.

Кроме того, обратите внимание, что at допускает не только следующие фиксированные времена: сейчас, полдень (12:00) и полночь (00:00), но также пользовательские двухзначные числа (представляющие часы) и 4-значное время (часы и минуты).

Например,

Чтобы запустить updatedb в 23:00 сегодня (или завтра, если текущая дата больше 23:00), выполните:

echo "updatedb" | at -m 23

Чтобы выключить систему сегодня в 23:55 (применяются те же критерии, что и в предыдущем примере):

echo "shutdown -h now" | at -m 23:55

Вы также можете отложить выполнение на минуты, часы, дни, недели, месяцы или годы, используя знак + и желаемое указание времени, как в первом примере.

Спецификации времени подчиняются стандарту POSIX.

Краткое содержание

Как правило, используйте at вместо планировщика заданий cron всякий раз, когда вы хотите запустить команду или выполнить данную задачу в четко определенное время только один раз. В других сценариях используйте cron.

Далее мы расскажем, как зашифровать архивные файлы tar с помощью openssl, а до тех пор оставаться на связи с Tecmint.