Настройка fsbackup

Система fsbackup была создана для обеспечения резервного копирования серверов разного масштаба на специально отведенном сервере бэкапа.

Fsbackup может выполнять создание как полного образа сервера, так и резервных копий основных подсистем, исключая операционную систему. В случае полного бэкапа, полное восстановление работоспособности происходит в течении нескольких десятков минут, в случае частичного бэкапа для восстановления требуется несколько часов.

На сколько я помню это набор perl скриптов можно установить из исходников или поставить из портов.

# cd /usr/ports/sysutils/fsbackup
# make install clean

Скопируем cfg_example в fsbackup.conf и изменим строку в create_backup.sh config_files=»fsbackup.conf».

# cd /usr/local/fsbackup
# ls
FAQ            archive            create_backup.sh    scripts
README         cache              fsbackup.conf       sys_backup
VERSION        cfg_example        fsbackup.pl
#/usr/local/fsbackup/fsbackup.conf
$cfg_backup_name = "mybackup";
$cfg_cache_dir = "/usr/local/fsbackup/cache";
$prog_md5sum    = "md5sum -b";
$prog_tar       = "/usr/bin/tar";
$prog_ssh       = "/usr/bin/ssh";
$prog_rm        = "/bin/rm";
$prog_gzip      = "/usr/bin/gzip"; # Если равно "", то не использовать сжатие.
$prog_pgp       = "";  # Если равно "", то не применять шифрование.
$cfg_checksum = "timesize";
$cfg_backup_style = "backup";
$cfg_increment_level = 7;
$cfg_save_old_backup = 1;
$cfg_type = "remote_ssh";
$cfg_remote_host = "mybackup.servers";  
$cfg_remote_login = "fsbackup";  
$cfg_remote_path = "/mnt/drake/lso/backup";
$cfg_remote_ftp_mode = 0;
$cfg_remote_password = "123456";
$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__
/usr/local/fsbackup
!/usr/local/fsbackup/cache
f!\.core$
f!^core$
f!\.o$
f!\.log$
# Linux
/usr/src/linux/.config

# BSD
/var/db/pkg
/usr/src/sys/i386/conf

# Users
/usr/home
/root
!/home/ftp
=!\.netscape/cache/
=!\.mozilla/.*/Cache/
=!\.mozilla/.*/NewCache/
=!\.mozilla/.*/News/
f!.*\.avi$
f!.*\.mpeg$
f!.*\.mpg$
f!.*\.mp3$

# System configuration
/etc
/var/cron/tabs
/var/spool/cron
/usr/local/etc

# Installed packages
/usr/local/bin
/usr/local/include
/usr/local/lib
/usr/local/libdata
/usr/local/libexec
/usr/local/sbin
/usr/local/share
/var/ucd-snmp
# Programs from source
/usr/local/apache/bin
/usr/local/apache/conf
/usr/local/apache/cgi-bin
/usr/local/apache/htdocs
/usr/local/apache/libexec
/usr/local/apache/src
/usr/local/www
/usr/local/mysql/bin
/usr/local/mysql/include
/usr/local/mysql/lib
/usr/local/mysql/libexec
/usr/local/mysql/var/mysql
/usr/local/pgsql/bin
/usr/local/pgsql/share
/usr/local/pgsql/lib
/usr/local/pgsql/include
/usr/local/pgsql/data
!/usr/local/pgsql/data/base
!/usr/local/pgsql/data/pg_xlog
/usr/local/squid/bin
/usr/local/squid/etc
/usr/local/news/etc
/usr/local/news/bin
/usr/local/news/lib
/usr/local/samba/bin
/usr/local/samba/lib

Описание всех пораметров есть в конфиге и на http://www.opennet.ru/dev/fsbackup/

Далее создадим пользователя fsbackup.

# adduser
# pw user show fsbackup
fsbackup:*:1020:1020::0:0:fsbackup:/home/fsbackup:/usr/local/bin/bash

Сгенерируем ключи для доступа по ssh.

# cd /usr/home/fsbackup/.ssh
# ssh-keygen

#должны появитя два ключя открытый и закрытый.
-rw-------  1 fsbackup  fsbackup  1675 Jul 13 09:20 id_rsa
-rw-r--r--  1 fsbackup  fsbackup   404 Jul 13 09:20 id_rsa.pub

#в 8ой версии freebsd ssh требует что бы ключ на сервере назывался authorized_keys 
# cp ./id_rsa.pub ./authorized_keys
#а для клиентской части скопируем ./id_rsa в /root/.ssh/identity

# ls -la /root/.ssh/
-rw-------  1 root  wheel  1675 Jul 16 14:14 identity
-rw-r--r--  1 root  wheel  3507 Jul 16 14:17 known_hosts

Добавим в крон.

#/etc/crontab
0       3       *       *       *       root    /usr/local/fsbackup/create_backup.sh

Первый бэкап должен запускаться так.

#/usr/local/fsbackup/fsbackup.pl -n /usr/local/fsbackup/fsbackup.con

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *