← До списку лабораторних по Linux
Повний опис / сценарій лабораторної:
Мета: навчитися створювати власний service та timer unit щоб замінити cron для регулярного запуску скрипта. Крок 1. Створити простий скрипт який записує час у файл. Команди: mkdir -p ~/timer_lab; echo -e "#!/usr/bin/env bash\ndate >> $HOME/timer_lab/run.log" > ~/timer_lab/job.sh; chmod +x ~/timer_lab/job.sh Крок 2. Створити unit файл сервісу. Команда: sudo nano /etc/systemd/system/timer_lab.service Вміст приблизно: [Unit] Description=Timer lab job [Service] Type=oneshot ExecStart=/home/ВАШ_КОРИСТУВАЧ/timer_lab/job.sh Крок 3. Створити unit файл таймера. Команда: sudo nano /etc/systemd/system/timer_lab.timer Приклад вмісту: [Unit] Description=Run timer lab job every minute [Timer] OnUnitActiveSec=60 Unit=timer_lab.service [Install] WantedBy=timers.target Крок 4. Перезавантажити конфігурацію systemd. Команда: sudo systemctl daemon-reload Крок 5. Увімкнути та запустити таймер. Команда: sudo systemctl enable --now timer_lab.timer Пояснення: таймер почне запускати сервіс за розкладом. Крок 6. Перевірити статус таймера. Команда: systemctl list-timers | grep timer_lab Пояснення: видно час останнього та наступного запуску. Крок 7. Переконатися що лог файл наповнюється. Команда: tail -n 5 ~/timer_lab/run.log Пояснення: через декілька хвилин у файлі мають бути нові рядки. Крок 8. Подивитися журнал для сервісу. Команда: journalctl -u timer_lab.service -n 10 Крок 9. Зупинити таймер коли він більше не потрібен. Команда: sudo systemctl disable --now timer_lab.timer Крок 10. Міні звіт. Завдання: опишіть переваги systemd timers у порівнянні з cron для складних сценаріїв.