Fork me on GitHub

Backup инкрементальных изменений

Как то в один момент я подумал, что бекапить каждый день один и тот же каталог с картинками (примерно 20Gb) - это идиотизм. При этом всём нет никакой гарантии, что последний бекап не будет пустой и не затрёт всё (бекапил я в tar) И тут я вспомнил, что есть Rdiff-backup.

Грубо говоря rdiff работает по принципу rsync копируя только изменённые файлы.

Дампы баз и архив картинок я сливаю по фтп (архи-небезопасно и надо поменять всё это) С примером rdiff бекап будет отправляться через ssh, то можно быть спокойными за секурность своих данных. Вотличии от FTP протокола. Дампы переделаю на rsync, что бы отказаться от FTP

Установка происходит одной командой

Ubuntu/Debian

1
sudo apt install rdiff-backup

FreeBSD

1
2
3
make install distclean -C /usr/ports/sysutils/rdiff-backup
# or
pkg install rdiff-backup

Запускать можно с принимающего сервера и с отправляющего. Как запускать личное дело каждого. Но из личного опыта скажу, что проще контролировать если всё в одном месте. Что бы в кроне не было километровых путей я всё засовываю в скрипт

Пример как забекапить каталог /home с сервера server-02 на бекап сервер 192.168.10.20. При том, что ssh порт не стандартный (хотя всё это можно настроить в ~/.ssh/config)

1
rdiff-backup -v 5 --ssh-no-compression /home "-p 1500 192.168.10.20"::/storage/backup/server-02

Наоборот как забрать бекап с сервера 192.168.10.2 и удалить бекапы старше одного месяца

1
rdiff-backup -v 2 --ssh-no-compression --remove-older-than 1M 192.168.10.2::/home /storage/backup/server-02

Или как забрать бекап с сервера 192.168.10.2 и хранить только последние 7 бекапов

1
rdiff-backup -v 2 --ssh-no-compression --remove-older-than 7B 192.168.10.2::/home /storage/backup/server-02

О формате времени можно прочитать в man подробно всё описано

Просмотр изменений за последние 7 дней

1
rdiff-backup --list-changed-since 7D /storage/backup/server-02

Посмотреть список файлов 2 версии назад

1
rdiff-backup --list-at-time 2B /storage/backup/server-02

Восстановление из бекапа 3 версии назад

1
rdiff-backup -r 3B /storage/backup/server-02 192.168.10.2::/home

Comments