Простой скрипта для резервного копирование сайта
Не знаю знаете ли вы или нет но раньше я использовал бесплатный хостинг, вернее я учился на бесплатном и вот когда у меня уже есть готовые, нормальные рабочие сайты на движках WordPress и DLE я бил вынужден уже переехать на нормальный платный хостинг. Я долго искал самый экономный вариант но очень зря!
Скажу вам по секрету не когда не экономьте на хостинге! Не считая что несколько дней назад все. мои сайты били не доступны почти 6-7 часов, а теперь уже не работает резервное копирование уже наверное неделю. Пишу в техподдержку (техподдержка как раз у них работает просто отлично) они с милостью отвечают что у них какие то обновлении и посоветовали сделать простой скрипт для BackUp-а сайта пока у них там все не разладится. Вот и я стал искать как же можно сделать простой скрипт для резервного копирование сайта и базы данных и нашел.
- Для начало нужно создать в вашем ПК файл backup.sh
- Потом копируем данный код в файл backup.sh
# -----------------------------------
# Created Ohalnikov Oleg
# Support: http://www.webmasterrs.ru
# -----------------------------------#!/bin/sh
DIR=/mnt/backup
DATA=`date '+%Y%m%d'`cd $DIR
mysqldump -u root --password='*****' -l --all-databases | gzip > databases-$DATA.sql.gz
tar -czf named-$DATA.tar.gz /var/named
tar -czf log-$DATA.tar.gz /var/log
tar -czf etc-$DATA.tar.gz /etc
tar -czf locetc-$DATA.tar.gz /usr/local/etc
tar -czf www-$DATA.tar.gz /usr/local/wwwfor file in *-$DATA.*
do
echo "$file" >> $DIR/current
done
echo "Backup Server $DATA" | mail -s "Backup Server $DATA" administrator@mailserver.ru < $DIR/current
rm -f $DIR/currentfind $DIR/* -mtime +7 -exec rm {} \; # BackUp будет хранитца 7 дней
# <<< THE-END >>>
- Закачиваем файл backup.sh у себя в домашнем каталоге сервера
- связаться с техподдержкой и просим настроить cron
Все длинные команды mysqldump и mail должны быть написаны в одну строку.
DIR - директория с бэкапами.
DATA - текущая дата в формате ГОДМЕСЯЦДЕНЬ.
Далее по скрипту переходим в директорию с бэкапами (cd $DIR) и выполняем последовательно команды архивирующии все базы данных mysqldump ключ --all-databass , -l - лочит базы на время выполнения дампа, ключ --password='*****' - вместо звездочек указываем пароль, т.к. он в открытом виде, права на файл backup.sh делаем 700, т.е. чтение, редактирование и исполнение - только root пользователю. Далее сжимаем полученный дамп gzip (должен присутствовать в системе) и перенаправляем в файл databases-$DATA.sql.gz. Далее идут команды tar -czf, которыми создаем архивы нужных директорий (можете включать любые свои). administrator@mailserver.ru меняем на свой e-mail чтобы резервные копии приходили к вам на e-mail.
Таким образом у вас всегда будет резервная копия сайта и базы данных, вам остается только купить