Skip to content

Spardoks/Backups

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

Домашнее задание к занятию «Резервное копирование» - Коряко Виталий

https://github.com/netology-code/sflt-homeworks/blob/main/3.md

https://losst.pro/nastrojka-cron

Цель задания

В результате выполнения этого задания вы научитесь:

  1. Настраивать регулярные задачи на резервное копирование (полная зеркальная копия)
  2. Настраивать инкрементное резервное копирование с помощью rsync

Задание 1

  • Составьте команду rsync, которая позволяет создавать зеркальную копию домашней директории пользователя в директорию /tmp/backup
  • Необходимо исключить из синхронизации все директории, начинающиеся с точки (скрытые)
  • Необходимо сделать так, чтобы rsync подсчитывал хэш-суммы для всех файлов, даже если их время модификации и размер идентичны в источнике и приемнике.
  • На проверку направить скриншот с командой и результатом ее выполнения

Решение 1

rsync -av --delete --exclude='.*' --checksum /home/tester /tmp/backup

rsync


Задание 2

  • Написать скрипт и настроить задачу на регулярное резервное копирование домашней директории пользователя с помощью rsync и cron.
  • Резервная копия должна быть полностью зеркальной
  • Резервная копия должна создаваться раз в день, в системном логе должна появляться запись об успешном или неуспешном выполнении операции
  • Резервная копия размещается локально, в директории /tmp/backup
  • На проверку направить файл crontab и скриншот с результатом работы утилиты.

Решение 2

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

crontab_tester

crontab_rsync


Задания со звёздочкой*

Эти задания дополнительные. Их можно не выполнять. На зачёт это не повлияет. Вы можете их выполнить, если хотите глубже разобраться в материале.


Задание 3*

  • Настройте ограничение на используемую пропускную способность rsync до 1 Мбит/c
  • Проверьте настройку, синхронизируя большой файл между двумя серверами
  • На проверку направьте команду и результат ее выполнения в виде скриншота

Задание 4*

  • Напишите скрипт, который будет производить инкрементное резервное копирование домашней директории пользователя с помощью rsync на другой сервер
  • Скрипт должен удалять старые резервные копии (сохранять только последние 5 штук)
  • Напишите скрипт управления резервными копиями, в нем можно выбрать резервную копию и данные восстановятся к состоянию на момент создания данной резервной копии.
  • На проверку направьте скрипт и скриншоты, демонстрирующие его работу в различных сценариях.

About

backups testing

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published