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