Здравствуйте, уважаемые читатели сайта shargaev-group.ru! Большинство хостинг провайдеров не осуществляют поддержку своих клиентов на vds хостинге, вся настройка и безопасность хостинга перекладывается на плечи вебмастера или администратора. Резервное копирование сайтов не исключение.
Поэтому, чтобы не произошло такой ситуации:
— Вы пришли на работу, а сайт по какой-то причине не работает. Начинаете искать резервную копию сайта, а ее оказывается нет. Рвете на голове волосы, материте всех кругом, но не себя любимого… Дальше думаю, не стоит продолжать.
Безусловно, и у меня были такие ситуации, и что только не приходилось делать, чтобы восстановить сайт. Но мой вам совет — учитесь на чужих ошибках, а не на своих.
Есть несколько способов, как сделать резервное копирование сайта:
1. В ручную. Производиться копирование файлов по фтп, базы данных копируются через интерфейс phpmyadmin. Этот способ отнимает большое количество времени, которого и так не хватает. Не знаю как вы, но я сразу отказываюсь от данного способа.
2. Через консоль ssh. Позволяет быстро создать архив с файлами на сервере и сделать дамп базы данных mysql. Нам остается только скачать созданные файлы на компьютер. Неплохой вариант если у вас небольшое количество сайтов.
3. Автоматизация процесса создания резервных копий сайта. Нам предстоит написать скрипт для linux и установить с какой периодичностью он будет запускаться для выполнения резервного копирования. Все, что остается, это раз в неделю подключиться по фтп и скачать созданные бэкапы. Это мой вариант! Всегда нужно стараться автоматизировать рутинную работу.
О последних двух методах речь пойдет ниже.
Итак, поехали.
Настройка резервного копирования сайтов на vds хостинге
1. Резервное копирование сайта через консоль ssh.
Приступаем к копированию файлов сайта. Заходим в консоль и вводим следующую команду:
tar -cvfz название архива.tar.gz /var/www - путь до папки с сайтом.
Если комбинация в конце выдаст ошибку, попробуйте ввести такую команду:
tar cvfz название архива.tar.gz /var/www - путь до папки с сайтом
Данная команда создаст gz архив с файлами вашего сайта в домашней директории.
Делаем резервное копирование (дамп) базы данных mysql.
В консоли вводим:
mysqldump -uuserlogin -ppassword имя базы
Важно: логин пользователя и пароль должен начинаться с букв-u и -p.
Данная команда создаст дамп базы данных mysql в домашней директории.
2. Автоматизация резервного копирования сайта.
Заходим в консоль и в домашнем каталоге создаем папку под наши резервные копии, назовем ее backup:
mkdir backup
Заходим в созданную директорию и создаем в ней файл backup.sh:
cd backup touch backup.sh
Открываем файл backup.sh на редактирование:
nano backup.sh
Добавляем в него код:
#!/bin/bash DIR=`date +%F_%H-%M`; mkdir /домашняя директория/backup/$DIR; mysqldump -uлогин -pпароль имя базы > /домашняя директория/backup/$DIR/имя базы.sql tar cvfz /домашняя директория/backup/$DIR/имя архива.tar.gz /var/www
Сохраняем файл Ctr+O и закрываем его Ctr+X.
Вкратце распишу работу скрипта:
1) В переменную DIR записываем текущую дату и время.
2) Создаем в папке backup директорию с названием текущей даты, в ней будут храниться резервные копии
3) Делаем дамп базы mysql
4) создаем архив gz с файлами сайта.
Скрипт для выполнения резервного копирования мы написали, осталось добавить задание в cron. Полную инструкцию по работе с cron вы можете посмотреть тут.
Открываем планировщик:
sudo crontab -e
В конце файла ставим задачу на запуск нашего скрипта:
0 9 * * 1,5 ~/backup/backup.sh
Если файл пустой, в начале файла обязательно добавьте:
SHELL=/bin/bash MAILTO=емаил на который будет приходить уведомление.
Сохраняем файл Ctr+O и закрываем его Ctr+X.
Установленная команда в планировщике будет запускать скрипт в 9 утра, каждый понедельник и пятницу. Вам остается раз в неделю подключаться к аккаунту по фтп и скачивать резервные копии. Если вас не устраивает данное расписание, вы можете его изменить, воспользовавшись документацией по cron, ссылку я давал выше.
Какие ошибки могут встретиться на вашем пути
Если вы создали файл backup.sh на компьютере под управлением ОС Windows и залили его в директорию backup, при запуске скрипта cron может выдать следующую ошибку:
/bin/sh^M: bad interpreter: No such file or directory
Проблема состоит в том, что редакторы Windows добавляют в конце строки символ «возврата каретки» CR/LF
Решить данную проблему можно командой dos2unix. Данная команда должна быть установлена в системе, если нет, установите ее:
apt-get install dos2unix
Запускаем команду перекодирования:
dos2unix /backup/backup.sh
По завершению перекодирования, все должно работать на УРА!
На сегодня все.
А какие методы резервного копирования сайтов используете вы?
Оставить Комментарий