Apache backup site

Рано или поздно возникает необходимость выполнения бэкапа сайта. Лучше конечно рано, чем поздно. Самый идеальный вариант, на основании представленных ниже записей сделать cron скрипт и выполнять ежедневное архивирование сайта. Т.к. если у Вас интернет магазин или серьезная бизнес площадка, даже 3-4 часа простоя будут стоить Вам огромных денег.

Мы рассмотрим пример работы Вашего сайта под ОС Linux Debian, Apache + Mysql

Все переменные, начинающиеся с символа $ — имена Ваших значений.

Вы всегда можете просмотреть список Ваших БД:

  
mysql -u $YOUR_USER_DATABASE -p
SHOW DATABASES;

Сам бэкап Mysql базы предельно прост:

  
mysqldump -u  $YOUR_USER_DATABASE -p $YOUR_DATABASE_NAME > $DATABASE_BACKUP_NAME.sql

Далее архивируем нашу папку с сайтом:

  
tar  -zcvf $YOUR_ARCHIVE_NAME.tar.gz $FOLDER_TO_SITE/

Все хорошо, архивирование идет. Вы даже написали небольшой скрипт, который гоняет эти простые команды раз в день. И вы вдруг обнаруживаете, что место на сервере катастрофически быстро заканчивается. Оказывается в папке с вашим сайтом есть папка video, размером в 15 Гб и каждый день она резервно копируется. Выход прост — игнорировать эту папку при создании архива:

  
tar  -zcvf $YOUR_ARCHIVE_NAME.tar.gz --exclude video $FOLDER_TO_SITE/

Но как перенести создаваемые архивы на машину, под управлением ОС Windows? Такой проблемы нет, если Вы переносите архив в *nix подобную ОС. В комплект консольного терминала PUTTY входит утилита: pscp

  
pscp $USER@$IP:/home/jane/archive.tar.gz .

Выполнив эту команду, вы скачаете файл с архивом на свою машину

Обозначения:

$USER — имя пользователя системы

$IP — IP удаленного сервера

$YOUR_ARCHIVE_NAME — имя создаваемого архива

$FOLDER_TO_SITE — архивируемая папка на сервере

$YOUR_USER_DATABASE — Имя пользователя в БД MYSQL, которому разрешено иметь доступ к архивируемой БД

Leave a Reply

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.