|
|
|
|
# Задания
|
|
|
|
|
|
|
|
|
|
Для проверки расписания вы можете использовать сайт 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`
|