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/timur/archive.tar.gz .

 

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

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

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

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

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

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

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

 

Leave a Reply

Please disable your adblocker or whitelist this site!