Задание:
15) Реализация бекапа общей папки на сервере SRV1-HQ с использованием systemctl
- a) Бекап должен архивировать все данные в формат tar.gz и хранить в директории /var/bac/.
- 1. Архивация должна производиться благодаря юниту типа service с названием backup.
- 2. Сервис должен включатся автоматический при загрузке.
- b) Время выполнение бекапа каждый день в 8 часов вечера.
- 1. Используйте юнит типа timer для выполнения.
- 2. Если устройство будет выключено, то архивация производится сразу после запуска.
- b) Время выполнение бекапа каждый день в 8 часов вечера.
Вариант реализации:
SRV1-HQ:
- Создаём директорию для хранения бэкапа общей папки:
mkdir /var/bac/
- Создаём юнит типа service с названием backup:
vim /etc/systemd/system/backup.service
-
- помещаем в данный файл — следующее содержимое, где:
- Description — описание юнита;
- Type — тип юнита (очень важный параметр, oneshot — если подразумевается разовый запуск утилиты или скрипта, то подойдет этот тип)
- ExecStart — команда, которая запускает службу. Именно в этом параметре нужно указать главный исполняемый файл (утилиту или скрипт), ради которого мы создаём службу
- WantedBy — если мы включим автозагрузку этой службы (с помощью команды systemctl enable <имя службы>), то она должна запуститься при загрузке мультипользовательского режима (multi-user.target)
- помещаем в данный файл — следующее содержимое, где:
- Создаём юнит типа service с названием timer:
vim /etc/systemd/system/backup.timer
-
- помещаем в данный файл — следующее содержимое, где:
- Description — описание юнита;
- OnCalendar — представления события календаря, в данном случае подразумевается каждый день (*) каждого месяца (*) каждого года (*) в 20 часов 00 минут 00 секунд
- Persistent — указывает запускать таймер немедленно, если был пропущен предыдущий запуск
- Unit — указывае какой юнит следует запускать
- помещаем в данный файл — следующее содержимое, где:
- Выполним команду которая запустит перезагрузку и перечитывание всех конфигурационных файлов для юнитов:
systemctl daemon-reload
- Включаем и добавляем в автозагрузку созданные юниты: backup.service и backup.timer
systemctl enable --now backup.service
systemctl enable --now backup.timer
- Проверяем статус юнитов:
- Также при запуске в директории /var/bac — должен появится бэкап: