Автоматизация backup'а данных

Используем FSBACKUP - система инкрементального резервного копирования и синхронизации ФС. Взятый отсудова

Качаем его: wget http://www.opennet.ru/dev/fsbackup/src/fsbackup-1.2pl2.tar.gz

распаковываем: tar -zxvf fsbackup-1.2pl2.tar.gz

переходим в распакованную директорию: cd fsbackup-1.2pl2

запускаем инсталятор: ./install.pl

Установили, значит… ну читаем мануал :) Данной системой поддерживается несколько видов сохранения бакапов:

  • на локальном сервере
  • по FTP протоколу на другом сервере
  • по SSH протоколу также на другой машине

Ну у нас пока некуда сохранять кроме как себе, будем сохранять пока у себю.

Переходим в каталог куда установили: cd /usr/local/fsbackup

Создадим каталоги куда будет делаться архив (ну непомню я создались ли они по умолчанию): mkdir archive mkdir sys_backup

Создаем файл конфигурации нашего backup’а nano cfg

$cfg_backup_name = "server_backup";
$cfg_cache_dir = "/usr/local/fsbackup/cache";
$prog_md5sum    = "/usr/bin/md5sum -b";
$prog_tar       = "/bin/tar";
$prog_ssh       = "/usr/bin/ssh";
$prog_rm        = "/bin/rm";
$prog_gzip      = "/bin/gzip";
$prog_pgp       = "/usr/bin/gpg";
$cfg_checksum = "timesize";
$cfg_backup_style = "backup";
$cfg_increment_level = 7;
$cfg_save_old_backup = 1;
$cfg_type = "local";
$cfg_local_path = "/usr/local/fsbackup/archive";
$cfg_time_limit = 0;
$cfg_size_limit = 0;
$cfg_maximum_archive_size = 0;
$cfg_root_path = "/";
$cfg_verbose = 2;
$cfg_stopdir_prune=0; 1;

__DATA__
/web
/etc
/home

Ну а теперь нам нужно редактировать скрипт запуска бэкапа: nano create_backup.sh в нем нужно привести одну строку к такому виду: config_files=“cfg” для использования нашего конфига и строку backup_mysql=1 для бэкапа баз данных

Ну а раз указали архивирование баз данных, значит нужно настроить и скрипт: nano scripts/mysql_backup.sh Меняем строки: backup_mysqluser=“root” backup_mysqlpassword=“пароль”

Запускаем ./create_backup.sh Нет ошибок? Значит первый наш backup создан и лежит в папках arhive и sys_backup

Ну а автоматизировать это не значит постоянно запускать в ручную, поручим это cron’у: crontab -e

добавим строки: MAILTO=ваша_почта@домен 0 0 * * * /usr/local/fsbackup/create_backup.sh

Теперь в 0 часов 0 минут ежедневно будет запускаться бэкап данных нашего сервера.

Фсе :)