Rsnapshot — утилита для создания копий состояния файловых систем на базе rsync. Она упрощает создание периодических копий с локальной и удаленных машин по ssh. Она использует, по возможности, жесткие связи, что позволяет существенно уменьшить объем необходимого дискового пространства.
Устанавливаем rsnapshot:
sudo apt install rsnapshot
Настройка rsnapshot
Создаем директорию в которой будем хранить наши бекапы:
sudo mkdir /files_backup
Теперь можно перейти к настройке, собственно, rsnapshot:
sudo nano /etc/rsnapshot.conf
snapshot_root - директория,которую мы только что создали и в которую вы хотите сохранять "снимки". interval xxx yy - ххх - название интервала (например hourly, daily), yy - количество снимков для каждого.
Например:
interval alpha 6 interval delta 7
Означает, что мы хотим хранить 6 ежечасных копий и 7 ежемесячных. Если уже доступно указанное количество копий, rsnapshot будет заменять старую более новой.
[alpha] - ежечасный интервал [beta] - дневной интервал [gamma] - недельный интервал [delta] - месячный интервал
Помните, что в конфигурационном файле недопустимы пробелы — используйте только табы.
Пробный запуск
rsnapshot hourly
Второй параметр означает интервал, который мы задали в конфигурационном файле.
Команда может выполняется продолжительное время. После выполнения, смотрим, что она создала:
Rsnapshot создает свой файл крона по адресу:
/etc/cron.d/rsnapshot
Мы же можем использовать его или дописать задание в основной файл:
sudo crontab -e
И внести в него наши задания:
0 */4 * * * root /usr/bin/rsnapshot alpha 30 3 * * * root /usr/bin/rsnapshot beta 0 3 * * 1 root /usr/bin/rsnapshot gamma 30 2 1 * * root /usr/bin/rsnapshot delta
Так же вы можете протестировать правильность настройки конфигурационного файла командой:
sudo rsnapshot configtest