https://github.com/netology-code/sflt-homeworks/blob/main/3.md
https://losst.pro/nastrojka-cron
В результате выполнения этого задания вы научитесь:
- Настраивать регулярные задачи на резервное копирование (полная зеркальная копия)
- Настраивать инкрементное резервное копирование с помощью rsync
- Составьте команду rsync, которая позволяет создавать зеркальную копию домашней директории пользователя в директорию
/tmp/backup
- Необходимо исключить из синхронизации все директории, начинающиеся с точки (скрытые)
- Необходимо сделать так, чтобы rsync подсчитывал хэш-суммы для всех файлов, даже если их время модификации и размер идентичны в источнике и приемнике.
- На проверку направить скриншот с командой и результатом ее выполнения
rsync -av --delete --exclude='.*' --checksum /home/tester /tmp/backup
- Написать скрипт и настроить задачу на регулярное резервное копирование домашней директории пользователя с помощью rsync и cron.
- Резервная копия должна быть полностью зеркальной
- Резервная копия должна создаваться раз в день, в системном логе должна появляться запись об успешном или неуспешном выполнении операции
- Резервная копия размещается локально, в директории
/tmp/backup
- На проверку направить файл crontab и скриншот с результатом работы утилиты.
nano backup_script.sh
#!/bin/bash
rsync -av --delete --exclude='.*' --checksum /home/tester /tmp/backup >> /var/log/backup.log 2>&1
chmod 777 backup_script.sh
sudo touch /var/log/backup.log
sudo chmod 777 /var/log/backup.log
crontab -e
0 0 * * * /home/tester/backup_script.sh
sudo systemctl restart cron
crontab -l
sudo cat /var/spool/cron/crontabs/tester
grep CRON /var/log/syslog
cat /var/log/backup.log
Эти задания дополнительные. Их можно не выполнять. На зачёт это не повлияет. Вы можете их выполнить, если хотите глубже разобраться в материале.
- Настройте ограничение на используемую пропускную способность rsync до 1 Мбит/c
- Проверьте настройку, синхронизируя большой файл между двумя серверами
- На проверку направьте команду и результат ее выполнения в виде скриншота
- Напишите скрипт, который будет производить инкрементное резервное копирование домашней директории пользователя с помощью rsync на другой сервер
- Скрипт должен удалять старые резервные копии (сохранять только последние 5 штук)
- Напишите скрипт управления резервными копиями, в нем можно выбрать резервную копию и данные восстановятся к состоянию на момент создания данной резервной копии.
- На проверку направьте скрипт и скриншоты, демонстрирующие его работу в различных сценариях.