Даже RAID не всегда спасаетПосле создание сайта, не забудьте установить скрипт резервного копирования. Даже если у вас на сервере, по заверению хостера, супернадежное оборудование и ежедневный бэкап (backup), не стоит полагаться на случай. Ведь, как известно люди делятся на тех, кто не делает бэкап и тех, кто уже делает.

Резервное копирование данных linux.

Универсальной программы резервного копирования данных с сервера не существует. Каждый использует, какое то свое решение. Чуть ниже я приведу пример подобного скрипта, который подойдет если не всем то многим. Он подойдет для копирования mysql базы данных, файлов и папок сайта.

Конечно, скрипт будет работать на любой linux системе, я тестировал резервное копирование на ubuntu, по отзывам моих друзей, скрипт также успешно работает на freebsd и debian.

Для работы скрипта нам понадобиться установленный на сервер архиватор rar. Поскольку кроме бэкапа данных мы будем их и архивировать, чтобы уменьшить занимаемое место. Если rar установлен, остается только найти сервер для резервного копирования. Подойдет любой хостинг с доступом по FTP и большим количеством свободного места. Никакого доступа через веб, ssh, telnet, php, cgi и прочее не требуется.

Архивирование и резервное копирование.

Скрипт предельно прост и понятен. Вот он:

# server backup script

cd /backup/

tar -cf /backup/АРХИВСАЙТА.tar /public_html/САЙТ.ru

mysqldump -uMYSQLUSERNAME -pMYSQLPASSWD -hlocalhost -A —add-drop-table -f -c >/backup/САЙТ_ru-db.sql

rar a -pПАРОЛЬ –m5 -df /backup/САЙТ_ru.rar /backup/САЙТ_ru.tar /backup/САЙТ_ru-db.sql

ftp -n -v БЕКАФТП << EOT

ascii

user ФТПЛОГИН ФТППАРОЛЬ

prompt

mdelete backup-old

rmdir backup-old

rename backup-last backup-old

mkdir backup-last

cd backup-last

put САЙТ_ru.rar

bye

EOT

Резервное копирование базы данных

Настройка резервного копирования.

Теперь разберемся с каждой строкой в файле. Это наша маленькая linux программа резервного копирования создает архив базы данных mysql и папки в каталоге /backup/. С помощью tar’a упаковываем всю папку с сайтом в один файл. В принципе это уже и есть архив сайта, однако он был бы неполным без базы данных. Поэтому следующий строкой создаем файл с содержимым базы данных сайта. Далее упаковываем в защищенный паролем архив оба файла с данными. Подробнее о том, как поставить пароль на rar архив мы уже писали и повторяться не будем. И наконец, полученный архив копируем на другой сервер по протоколу фтп.

Сохраним скрипт на сервере с именем «backup.sh». Естественно, необходимо заменить адреса папок и имена файлов сайта на свои, указать логин и пароль и адрес фтп сервера для бекапа.

Автоматическое резервное копирование.

Теперь чтобы скрипт работал автоматически, без нашего участия добавим его вызов в cron. Редактируем crontab выполнив команду:

$ crontab –e

Откроется редактор. Вставьте туда следующую строку:

5 3 * * * /backup/backup.sh >/dev/null

Она будет запускать скрипт резервного копирования каждый день каждого месяца в 3 часа и 5 минут ночи.


Tagged with:  

Comments are closed.