Простое резервное копирование файлов freebsd

Никакого дополнительного програмного обеспечения на наш freebsd сервер ставить не будем, используем только то, что стоит по умолчнию.
Задача:
копировать нужную нам директорию сервера в специально выделенную папочку на сервер и отправка этого архива на ftp сервер в сети.
Я обошёлся двумя скриптиками. которые сам наваял.
один производит копирование в директорию на сервере
второй копирует по ftp
на freebsd сервере надо создать диретокрию /backup/send
точно такую же диреторию надо создать и в корне ftp сервера на пк, куда мы будем архивировать. Выбиайте любой фтп сервер поддерживающий авторизацию, благо их на многие операционные системы предостаточно.
после того как содадите диретории, приступаем к написанию скрипта на freebsd:
ee /backup/tar.sh
его содержимое:

#!/bin/sh
#data arhiva YYYYMMDD-HH.MM
DATA=`date +%Y.%m.%d--%H.%M`
#mesto dlya arhiva
BACKUPDIR=/backup
#4to rezerviruem/copiruem
DIRECTORIES="/etc/"
#put' k programme TAR
TAR=/usr/bin/tar
#nazvanie arhiva bez daty
LABELARH=etc-configs
#imya faila budet imet' vid
ARCHIVNAME=$BACKUPDIR/$LABELARH-$DATA.tar
#sozdayom arhiv
cd /
$TAR -cpf $ARCHIVNAME $DIRECTORIES
$TAR -cpf $BACKUPDIR/send/$LABELARH-$DATA.tar $DIRECTORIES
#############################################
#copy to ftp
#############################################
cd /
chmod 600 /backup/ftp.sh
ftp -N /backup/ftp.sh 10.36.1.15
rm $BACKUPDIR/send/*.tar
exit

В конце после exit оставьте 2-е пустые строчки на всякий случай.
Все переменные указаны выше, создаётся файлик в /backup и в /backup/send, имеющий вид etc-configs-$DATA , где $DATA — это формирующаяся сама текущая дата, вида год.меся.день-часы.минуты, далее происходит подключение к фтп, данные для аторизации к которому берутся из /backup/ftp.sh И наконец файлы имеющие расширение tar и расположенные в /backup/send удаляются, а в /backup остаются. В примере фпт запущен на ПК с ip-адресом 10.36.1.15, так что не забудьте поменять на свой, архивируется, опять таки по примеру выше, диретория сервера freebsd -> /etc/ Можете указать диретории веб сервера или директории с базой данных, да вобщем то, что угодно можете указать.

Теперь второй скрипт, благодаря которому и происходит авторизация, а так же копирование на ftp. Создаём /backup/ftp.sh
ee /backup/ftp.sh
его содержимое:

#!/bin/sh
machine 10.36.1.15
#10.36.1.15 -компьютер в сети, где запущен ftp
login учётная_запись_для_входа_по_фтп
password пароль_учётной_записи_для_входа_по_фтп
macdef init
bin
put /backup/send/*.tar
quit

В конце после exit оставьте 2-е пустые строчки на всякий случай.
даём атрибуты исполняемого файлика:
chmod +x /backup/tar.sh
chmod +x /backup/ftp.sh

оба файла(ftp.sh и tar.sh) теперь лежат в /backup, но надо выполнять только tar.sh, именно его и поставим на выполнение например в 2:00 каждую ночь.
ee /etc/crontab
добавим:
00 2 * * * root /backup/tar.sh
Всё, теперь каждую ночь у вас новый резервный архив папочки с конфигами -> /etc/
P.S.: Позаботьтесь о резервном копировании, дабы не лить слёзы, когда всё рухнет (а рано или поздно это произойдёт, ничто не вечно)

Простое резервное копирование файлов freebsd: 4 комментария

  1. Уведомление: Настройка WordPress на FreeBSD 10.0 | BSDHome

    1. vyslaf Автор записи

      Приветствую.
      Зависит от того, что архивируете.
      Полученный файлик — это простой архив, открыть можно почти любым архиватором и посмотреть.

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