You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3.5 KiB

Задания

Для проверки расписания вы можете использовать сайт https://crontab.guru/, https://cronheatmap.com и аналоги.

0.

Проверьте наличие команд cron и at в системе. Установите их в случае отсутствия.

1.

Выведите документацию crontab и cron.

2.

Создайте cron расписание для выполнения скрипта или команды:

  1. дважды в день: в 5 утра и в 5 вечера,
  2. в 3:15 каждый день,
  3. в 8 вечера каждую неделю,
  4. по понедельникам в 20:00,
  5. в 20:00 по понедельникам и по субботам,
  6. каждую минуту,
  7. каждые 10 минут,
  8. каждые 15 минут по субботам и понедельникам,
  9. каждую минуту в марте, июне, сентябре и декабре,
  10. 20 января в 8 вечера,
  11. ежедневное выполнение скрипта в 8 вечера каждый второй месяц,
  12. *в первое воскресенье каждого месяца,
  13. каждые три часа,
  14. дважды, каждую субботу и понедельник,
  15. *каждые 30 секунд,
  16. каждый день в летний период,
  17. для рассылки поздравлений с новым годом,
  18. ежедневного удаления неиспользуемых пакетов в системе,
  19. перезапуска системы в 0 часов 0 минут,
  20. для очистки всех попыток сбоя входа в систему ежедневно в 1:00,
  21. ежедневной проверки и загрузки новых системных пакетов,
  22. ежедневного обновления пакетов системы,
  23. ежедневное резервное копирование всех папок пользователей в 5 утра.

3.

Создайте задание в котором отчёты cron будут отправляться вам на внешний почтовый ящик.

4.

Установите пользовательский сrontab.

5.

Настройте выполнение исполняемого файла script.sh из /usr/sbin/ каждую среду, модифицировав PATH в cron задании.

6.

Пользуясь полномочиями суперпользователя, запретите пользователю mike выполнять команду at.

7.

Запланируйте командой at:

  1. выполнение скрипта сегодня в 9 часов,
  2. перезагрузку через 2 часа,
  3. выполнение команды через 100 лет.

8.

Создайте расписания из пункта 2 используя systemd timer.

9.

Запланируйте разовое выполнение команд из пункта 7 используя systemd timer.

Справка

Релевантные файлы:

  • /etc/cron.allow
  • /etc/cron.deny
  • /var/spool/cron/crontabs
  • /var/spool/cron/atjobs
  • /var/spool/cron/atspool
  • /proc/loadavg
  • /var/run/utmp
  • /etc/at.allow
  • /etc/at.deny

Релевантные команды:

  • cron
  • at
  • crontab
  • man systemd.timer
  • man systemd.time