Перейти до вмісту

Модуль 8.4: Планування завдань та Бекапи

Hands-On Lab Available
Ubuntu intermediate 30 min
Launch Lab ↗

Opens in Killercoda in a new tab

Операції — LFCS | Складність: [COMPLEX] | Час: 45–55 хв

Перед початком цього модуля:


Що ви зможете робити після цього модуля

Розділ «Що ви зможете робити після цього модуля»

Після завершення цього модуля ви зможете:

  • Створити завдання cron та systemd timers для повторюваних задач і пояснити, коли використовувати кожен
  • Реалізувати стратегії резервного копіювання (повне, інкрементне, диференційне) за допомогою rsync, tar та знімків etcd
  • Спроєктувати розклад бекапів з політиками збереження та перевірити процедури відновлення
  • Діагностувати збої cron-завдань, перевіряючи логи, дозволи та змінні оточення

Чому цей модуль важливий

Розділ «Чому цей модуль важливий»

Кожен системний адміністратор рано чи пізно дізнається, що є два типи людей: ті, хто робить бекапи, і ті, хто дуже шкодує, що не робив їх. Але бекапи марні без автоматизації, а автоматизація марна без планування.

Розуміння планування та бекапів допоможе вам:

  • Автоматизувати рутину — ротація логів, оновлення сертифікатів, очищення тимчасових файлів.
  • Захистити дані — залізо ламається, люди помиляються, віруси існують.
  • Гарантувати надійність — ви будете впевнені, що важливі скрипти запустяться вчасно.
  • Скласти іспит LFCS — Cron, таймери systemd, tar та rsync зустрічаються у багатьох розділах.

Частина 1: Планування завдань

Розділ «Частина 1: Планування завдань»

Cron — Класичний планувальник

Розділ «Cron — Класичний планувальник»

Cron працює у фоні та кожну хвилину перевіряє свій розклад.

Кожен запис має 5 полів часу та саму команду:

* * * * * команда
│ │ │ │ │
│ │ │ │ └── день тижня (0-7, де 0 і 7 - неділя)
│ │ │ └────── місяць (1-12)
│ │ └───────── день місяця (1-31)
│ └──────────── година (0-23)
└─────────────── хвилина (0-59)
  • */5 * * * * — кожні 5 хвилин.
  • 30 2 * * * — щодня о 02:30 ночі.
  • 0 9 * * 1 — щопонеділка о 09:00 ранку.
Terminal window
# Редагувати свій розклад
crontab -e
# Переглянути розклад
crontab -l

Таймери systemd — Сучасний підхід

Розділ «Таймери systemd — Сучасний підхід»

Таймери є більш гнучкими та надійними, ніж cron. Вони складаються з двох файлів: .service (що робити) та .timer (коли робити).


Частина 2: Архівація та Бекапи

Розділ «Частина 2: Архівація та Бекапи»

tar — Універсальний інструмент архівації

Розділ «tar — Універсальний інструмент архівації»

tar збирає багато файлів в один архів.

Terminal window
# Створити стиснутий архів (gzip)
tar -czf backup.tar.gz /path/to/data
# Розпакувати архів
tar -xzf backup.tar.gz
# Переглянути вміст без розпакування
tar -tzf backup.tar.gz

rsync — Розумна синхронізація

Розділ «rsync — Розумна синхронізація»

rsync копіює тільки ті частини файлів, що змінилися, економлячи час та трафік.

Terminal window
# Синхронізація папок (локально)
rsync -av --delete /source/ /backup/
# Синхронізація на віддалений сервер
rsync -avz /data/ user@remote-server:/backup/

Золотий стандарт стратегії бекапів:

  • 3 копії даних (оригінал + 2 бекапи).
  • 2 різні типи носіїв (наприклад, локальний диск + хмара).
  • 1 копія поза офісом (offsite) — для захисту від пожежі чи крадіжки.

  1. Напишіть рядок для cron, щоб запускати скрипт щодня опівночі.

    Відповідь `0 0 * * * /шлях/до/скрипта` (або використати шорткат `@daily`).
  2. Що робить прапор -z у команді tar?

    Відповідь Він вмикає стиснення архіву за допомогою алгоритму **gzip**.
  3. Чому rsync кращий за cp для регулярних бекапів?

    Відповідь `rsync` вміє копіювати тільки змінені файли (дельта-копіювання), підтримує стиснення при передачі та може видаляти у місці призначення файли, яких уже немає в джерелі (параметр `--delete`), підтримуючи точну копію.
  4. Як перевірити статус усіх запланованих таймерів systemd?

    Відповідь Командою `systemctl list-timers`.

Завдання: Створити архів домашньої папки та запланувати це завдання.

  1. Створіть архів вручну:
    Terminal window
    tar -czf ~/my_backup.tar.gz ~ --exclude=*.gz 2>/dev/null
  2. Перевірте розмір архіву:
    Terminal window
    du -sh ~/my_backup.tar.gz
  3. Додайте завдання в crontab -e, щоб бекап робився кожну неділю о 3-й ранку: 0 3 * * 0 tar -czf /tmp/home_backup.tar.gz /home/$USER 2>/dev/null
  4. Перевірте, що запис з’явився:
    Terminal window
    crontab -l

Критерії успіху: Архів створений, а в розкладі cron з’явився новий запис.


  • Cron — надійна класика планування.
  • Systemd timers — сучасний контроль та логування.
  • tar — стандарт пакування даних.
  • rsync — ефективна синхронізація.
  • Бекап не існує, поки ви не спробували його відновити.

Трек «Операції» завершено! Ви опанували всі ключові навички адміністрування Linux, необхідні для впевненої роботи з Kubernetes та сертифікації LFCS.