Rate this post

Какя установить rsnapshot Filesystem утилиту на основе Rsync на моем сервере FreeBSD для резервного копирования локальной/ удаленной Linux и Unix на ПК, сервер и ноутбук?nnRsnapshot Filesystem  это на основе Rsync команды. rsnapshot создает периодические снимки локальных машин и синхронизирует на удаленные машины через SSH. Код широко использует жесткие ссылки, когда это возможно, чтобы значительно уменьшить необходимое дисковое пространство. Он полностью написан на Perl без каких-либо зависимостей между модулями, и был протестирован с Perl версии 5.004 и до 5.8.1.   В этой статье вы узнаете, как создать на основе FreeBSD сервер резервного копирования, чтобы сохранить резервные копии ежечасно, ежедневно, ежемесячно, ежегодно.n

Установите rsnapshot на сервере FreeBSD

Введите следующую команду, чтобы обновить базу данных PKGn

# pkg update

Для установки бинарного пакета, введите:n

# pkg install rsnapshot

 pkg-install-rsnapshot

nИли установить его с помощью портаn

# cd /usr/ports/sysutils/rsnapshot/n# make install clean

Настройка rsnapshot на FreeBSD

Во-первых, нужно скопировать /usr/local/etc/rsnapshot.conf.default в /usr/local/etc/rsnapshot.conf, запустите:n

# cp -v /usr/local/etc/rsnapshot.conf.default /usr/local/etc/rsnapshot.conf

Далее, отредактироватьn

# vi /usr/local/etc/rsnapshot.conf

Обновите и раскомментировать следующие:n

# All snapshots will be stored under this root directory.nsnapshot_root   /securebackup/root.user.only/rsnapshot/nn#########################################n#     BACKUP LEVELS / INTERVALS         #n# Must be unique and in ascending order #n# e.g. alpha, beta, gamma, etc.         #n#########################################n# 6 hourly snapshots - daily (every 4 hour)n# 1 daily snapshot - dailyn# 4 weekly snapshots - weekly (Sunday)n# 12 monthly snapshots - 1st day of every monthn################################################nnretain  hourly  6nretain  daily   7nretain  weekly  4nretain  monthly 12nn# If you enable this, data will be written to the file you specify.nlogfile /var/log/rsnapshotnn# Exclude these files from backupsnexclude_file    /usr/local/etc/rsnapshot.exclude.txtnn###################################n### SET BACKUP POINTS / SCRIPTS ###n###################################nn# LOCALHOST/nas04 Backup our own local freebsd box firstnbackup  /home/          nas04/nbackup  /etc/           nas04/nbackup  /usr/local/     nas04/nn# Okay backup our remote web server called 10.12.249.194nbackup  [email protected]:/etc/        wwwserver1/nbackup  [email protected]:/root/       wwwserver1/nbackup  [email protected]:/home/       wwwserver1/nbackup  [email protected]:/scripts/    wwwserver1/nbackup  [email protected]:/usr/share/lxc/      wwwserver1/nbackup  [email protected]:/lib/ufw/    swwwserver1/nbackup  [email protected]:/var/www/    swwwserver1/nn# Backup mysql database toonbackup_script   /usr/bin/ssh [email protected] "/scripts/mysql/backup.sh"        unused1/nbackup_script   /usr/bin/scp -r [email protected]:/backups/mysql/nas/ /securebackup/root.user.only/rsnapshot/tmp/    mysql/wwwserver1/nn# Backup v.backup2 server toonbackup  [email protected]:/root/   backup2/nbackup  [email protected]:/etc/    backup2/nbackup  [email protected]:/var/www/    backup2/

Установите MySQL сценарий резервного копирования на удаленном сервере 10.12.249.194

Создайте сценарий, /scripts/mysql/backup.sh на вашем сервере MySQL:n

#!/bin/bashn# Name: backup.shn# Purpose: Backup mysql databases for rsnapshotn# Tested on: RHEL/CentOS/Debian/Ubuntu only n# ---------------------------------------------------------nMUSER='YOUR-USERNAME-HERE'nMPASS='YOUR-PASSWORD-HERE'nMHOST='YOUR-HOSTNAME-HERE'nDEST="/backups/mysql/nas"nNOWFORMAT="%m_%d_%Y_%H_%M_%S%P"nMYSQL="/usr/bin/mysql"nMYSQLDUMP="/usr/bin/mysqldump"nMKDIR="/bin/mkdir"nRM="/bin/rm"nGZIP="/bin/gzip"nDATE="/bin/date"nSED="/bin/sed"nn[  ! -d "$DEST" ] && $MKDIR -p "$DEST"nnDBS="$($MYSQL -u $MUSER -h $MHOST -p$MPASS -Bse 'show databases')"nDBS="$($SED -e 's/performance_schema//' -e 's/information_schema//' <<< $DBS)"n$RM -f $DEST/* > /dev/null 2>&1nfor db in $DBSndon                tTime=$(date +"${NOWFORMAT}")n                FILE="$DEST/${db}.${tTime}.gz"n                $MYSQLDUMP -u $MUSER -h $MHOST -p$MPASS $db | $GZIP -9 > $FILEndone

Установите keychain на FreeBSD  сервер

Введите следующую команду, чтобы установить клиента SSH-агент для входа на удаленный сервер:n

# pkg install keychain

Добавляет следующие записи в стартовый файл оболочки. Я использую по умолчанию CSH на моем FreeBSD:n

echo '/usr/local/bin/keychain --clear $HOME/.ssh/id_rsa' >> /root/.cshrcnecho 'source $HOME/.keychain/webserver-csh' >>/root/.cshrc

Установка и настройка SSH ключей FreeBSD

Вы должны установить открытый ключ аутентификации и использовать keychain для управления ключами:n

# ssh-keygen -t rsa
Generating public/private rsa key pair.nEnter file in which to save the key (/root/.ssh/id_rsa):nCreated directory '/root/.ssh'.nEnter passphrase (empty for no passphrase): {ENTER-YOUR-PASSPHRASE-HERE}nEnter same passphrase again: {again-ENTER-YOUR-PASSPHRASE-HERE}nYour identification has been saved in /root/.ssh/id_rsa.nYour public key has been saved in /root/.ssh/id_rsa.pub.nThe key fingerprint is:n5b:74:30:c8:4a:10:78:a3:eb:ce:bd:ee:87:40:82:7f root@webservernThe key's randomart image is:

Вам нужно установить местоположение и имя пары ключей. Я рекомендую вам использовать место по умолчанию, например: $HOME/.ssh/id_rsa. Вам будет предложено, поставить фразу (пароль) для вашего секретного ключа. Установите открытый ключ на удаленном сервере называется v.backup2 и 10.12.249.194. Во-первых, установить ssh-copy-id — небольшой скрипт, который копирует свой ​​SSH с открытым ключом на удаленный хост, выполните:n

# pkg install ssh-copy-id

Теперь установите публичный ключn

# ssh-copy-id -i $HOME/.ssh/id_rsa.pub [email protected]# ssh-copy-id -i $HOME/.ssh/id_rsa.pub [email protected]

Проверьте конфигурацию на FreeBSD

Введите следующую команду:n

# rsnapshot configtestn# rsnapshot -c /usr/local/etc/rsnapshot.conf configtest

Вы можете увидеть команды, которые будут выполнены по этой утилите:n

# rsnapshot -t hourlyn# rsnapshot -t dailyn# rsnapshot -t weeklyn# rsnapshot -t monthly

Запустите rsnapshot и сделать свои первые резервные копии на FreeBSDnВведите следующую команду, чтобы сделать резервную копию почасовой:n

# rsnapshot -v hourly

Настройка cron для запуска резервных копий на FreeBSD

# crontab -e

Добавьте следующие команды:n

 n30 */4 * * *  root      /usr/local/bin/rsnapshot hourlyn40 21 * * *   root      /usr/local/bin/rsnapshot dailyn20 22 * * 6   root      /usr/local/bin/rsnapshot weeklyn10 23 1 * *   root      /usr/local/bin/rsnapshot monthly

Как восстановить резервные копии?

Допустим, вы хотите восстановить резервную копию для wwwserver1. Введите команду следующим образом (выберите день и дату с LS -l ):n

#############################n# Login to your FreeBSD server #n# cd to backup location #n# Select hourly, weekly etc #n# scp or rsync to destination #n###################################n# cd /securebackup/root.user.only/rsnapshot/n# ls -ln# cd hourly.0/wwwserver1/n# scp -r var/www/ [email protected]:/var/www/

Если Вам необходимо настроить резервное копирование на Linux Unix FreeBSD системы обращайтесь [email protected]