|
|||||||
Резервное копирование с помощью rsnapshot
Время создания: 28.04.2016 04:03
Раздел: Компьютер - Linux - Резервное копирование и синхронизация
Запись: xintrea/mytetra_syncro/master/base/1461805418k96lwrbeew/text.html на raw.github.com
|
|||||||
|
|||||||
Серверов много, информация критична, что делать? Распространенный вопрос среди администраторов win и nix-систем. Проженные админы, наученные горьким опытом, в один голос скажут: "БЕКАПЫ СПАСУТ ЭТОТ МИР". Давай рассмотрим с тобой, мой милый друг, замечательную утилиту для инкрементального резервирования файловой системы - rsnapshot. rsnapshot – Базирующаяся на rsync утилита на Perl для создания резервных копий. Особенностью является ориентация на создания полных снапшотов файловой системы через заданный интервал времени, для экономии места на диске, не изменившиеся с момента первого бэкапа файлы линкуются как hard link. Ставим: # dpkg -l | grep rsnapshot ii rsnapshot 1.3.0-2 all local and remote filesystem snapshot utility конфигурационный файл всего один, находится в /etc, зовется rsnapshot.conf config_version 1.2 #директория для снапшотов, осторожно! подготовьте для резервного копирования раздел с избыточным местом, данных много - места будет кушать много snapshot_root /var/backups/ #утилиты, которые понадобятся для копирования ################################# # EXTERNAL PROGRAM DEPENDENCIES # ################################# cmd_cp /bin/cp cmd_rm /bin/rm cmd_rsync /usr/bin/rsync cmd_ssh /usr/bin/ssh cmd_logger /usr/bin/logger cmd_du /usr/bin/du cmd_rsnapshot_diff /usr/bin/rsnapshot-diff #тип, количество копий для каждого бекапа (часы, дни, недели, месяцы) ######################################### # BACKUP INTERVALS # ######################################### interval hourly 12 interval daily 7 interval weekly 4 interval monthly 3
############################################ # GLOBAL OPTIONS # ############################################ verbose 2 #уровень информирования, когда утилита запущена, это значение установлено по умолчанию - показывать только предупреждения и ошибки loglevel 3 #почти тоже самое, что и verbose, но здесь мы указываем насколько детально писать в логи lockfile /var/run/rsnapshot.pid link_dest 1 #поддержка ссылок
############################### ### BACKUP POINTS / SCRIPTS ### ############################### #что копировать, куда копировать #server 1 backup root@server1.ru:/etc/ server1.ru/ backup root@server1.ru:/home/ server1.ru/ backup root@server1.ru:/var/backups/postgresql/ server1.ru/ #server2 backup root@server2.com:/etc/ server2.com/ backup root@server2.com:/home/someuser/ server2.com/ backup root@server2.com:/usr/share/tomcat5.5/ server2.com/
#Также, делаем бекап локальной файловой системы # local backup /etc/ local/ backup /home/someuser/ local/ Теперь немного о том, как будет происходить бекап. Утилита rsnapshot работает через протокол rsync, а он в свою очередь работает через ssh, поэтому нам необходимо создать пару ключей для сервера, на котором и будет запускаться rsnapshot+rsyncd, естественно следует учесть, что бекапы мы должны делать от суперпользователя root, иначе мы просто не сможем забрать файлы например из /etc. # cat /etc/cron.d/rsnapshot MAILTO=mail@gmail.com 0 */4 * * * root /usr/bin/rsnapshot hourly 30 3 * * * root /usr/bin/rsnapshot daily 0 3 * * 1 root /usr/bin/rsnapshot weekly 30 2 1 * * root /usr/bin/rsnapshot monthly По прошествии некоторого времени, мы сможем увидеть директории с бекапами, для этого выполним команду: # rsnapshot du 223G /var/backups/hourly.0/ 65M /var/backups/hourly.1/ 67M /var/backups/hourly.2/ 67M /var/backups/hourly.3/ 65M /var/backups/hourly.4/ 66M /var/backups/hourly.5/ 66M /var/backups/hourly.6/ 66M /var/backups/hourly.7/ 66M /var/backups/hourly.8/ 66M /var/backups/hourly.9/ 66M /var/backups/hourly.10/ 69M /var/backups/hourly.11/ 68M /var/backups/daily.0/ 67M /var/backups/daily.1/ 66M /var/backups/daily.2/ 1.7G /var/backups/daily.3/ 47G /var/backups/daily.4/ 91M /var/backups/daily.5/ 305M /var/backups/daily.6/ 343M /var/backups/weekly.0/ 410M /var/backups/weekly.1/ 977M /var/backups/weekly.2/ 429M /var/backups/monthly.0/ 32G /var/backups/monthly.1/ 305G total Ну вот и все, важные файлы и директории будут постоянно бекапиться, данный пример понадобится при не супер критичном использования сервера, другой вопрос, если есть highload проект, в этом случае реализация резервного копирования перетекает в настройку синхронной/асинхронной репликации средствами кластерных ФС и блочных устройств, но об этом поговорим в другой статье.
rsnapshot configtest - проверяет конфигурационный файл на наличие синтаксических ошибок |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|