После создание сайта, не забудьте установить скрипт резервного копирования. Даже если у вас на сервере, по заверению хостера, супернадежное оборудование и ежедневный бэкап (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 минут ночи.