Рассказываю про очередную утилиту для бэкапов - rsnapshot.
https://github.com/rsnapshot/rsnapshot
Эта штука мне реально понравилась, я ее потестировал и стал внедрять. Буду пользоваться. Ставится из стандартных реп. В Centos из epel поставил, в ubuntu, debian в системных есть.
Под капотом там обычный rsync и обвязка на perl. Если не вдаваться в подробности, то rsnapshot умеет копировать файлы с помощью rsync, то есть обладает полностью всем его функционалом. Дополнительно в нём реализовано хранение инкрементных бэкапов и автоматическое ротирование. То есть всё то, что я обычно колхозил на bash, уже наколхозили за меня на perl.
Инкрементные бэкапы делаются с помощью hard link. Копируются только изменившиеся файлы, а остальные добавляются с помощью ссылок. Таким образом, если вы каждый день будете делать бэкапы, они у вас будут лежать каждый в своей папке как-будто там полная копия файлов, но на деле там только измененные файлы и хард линки на прошлый бэкап, если эти же файлы там уже есть.
Не скажу, что подход с ссылками прям очень удобный, так как занимаемое место и изменения не очень удобно смотреть, но тем не менее, это просто и быстро работает.
Так же rsnapshot умеет автоматически ротировать бэкапы. Можно задать в параметрах хранить 7 дневных бэкапов, 4 недельных и 12 месячных. Ну и запускать бэкап с соответствующими ключами. Rsnapshot будет автоматически удалять дневные бэкапы старше 7-и дней и двигать по цепочке все остальные. 7-й дневной бэкап превращается в недельный, 4-й недельный в месячный и т.д. То есть реализован привычный конвейер. Дневные, недельные и месячные интервалы придумал я. Настроить и обозвать вы их можете сами как угодно, это всё настраивается.
Файлы хранятся в исходном виде, как есть. Можно копировать, смотреть, проверять. В общем, мне понравилось. Думаю, что буду активно пользоваться.
#backup
Post #986
6.2K