3.5 KiB
Задания
Для проверки расписания вы можете использовать сайт https://crontab.guru/, https://cronheatmap.com и аналоги.
0.
Проверьте наличие команд cron
и at
в системе. Установите их в случае отсутствия.
1.
Выведите документацию crontab
и cron
.
2.
Создайте cron расписание для выполнения скрипта или команды:
- дважды в день: в 5 утра и в 5 вечера,
- в 3:15 каждый день,
- в 8 вечера каждую неделю,
- по понедельникам в 20:00,
- в 20:00 по понедельникам и по субботам,
- каждую минуту,
- каждые 10 минут,
- каждые 15 минут по субботам и понедельникам,
- каждую минуту в марте, июне, сентябре и декабре,
- 20 января в 8 вечера,
- ежедневное выполнение скрипта в 8 вечера каждый второй месяц,
- *в первое воскресенье каждого месяца,
- каждые три часа,
- дважды, каждую субботу и понедельник,
- *каждые 30 секунд,
- каждый день в летний период,
- для рассылки поздравлений с новым годом,
- ежедневного удаления неиспользуемых пакетов в системе,
- перезапуска системы в 0 часов 0 минут,
- для очистки всех попыток сбоя входа в систему ежедневно в 1:00,
- ежедневной проверки и загрузки новых системных пакетов,
- ежедневного обновления пакетов системы,
- ежедневное резервное копирование всех папок пользователей в 5 утра.
3.
Создайте задание в котором отчёты cron будут отправляться вам на внешний почтовый ящик.
4.
Установите пользовательский сrontab
.
5.
Настройте выполнение исполняемого файла script.sh
из /usr/sbin/
каждую среду, модифицировав PATH
в cron задании.
6.
Пользуясь полномочиями суперпользователя, запретите пользователю mike
выполнять команду at
.
7.
Запланируйте командой at
:
- выполнение скрипта сегодня в 9 часов,
- перезагрузку через 2 часа,
- выполнение команды через 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