Полный бекап сайта через SSH

Довольно часто возникает необходимость сделать полный BackUp сайта с его последующим восстановлением на данной или удаленной машине. Мы так же как и другие хостинговые компании ежедневно делаем бекапы и храним их от недели до месяца, но иногда этого бывает недостаточно. Предположим, Вы захотели сделать локальную копию сайта у себя дома, либо же хранить копию сайта определенной версии на сервере. С данными просьбами, Вы можете в любой момент, обратиться в нашу службу поддержки и наши сотрудники с радостью Вам помогут.

Задачу будем формулировать так: нужно подключившись по SSH, создать архив содержащий в себе все файлы и базы данных.

1) Первым делом нужно подключиться к серверу. Доступ по протоколу SSH изначально выключен, включить Вы можете его в Панели Управления. Под OS Windows мы рекомендуем использовать программу Putty. Подробно о том, как ее настроить можно почитать здесь.

2) Зайдя на свой аккаунт, нужно сделать бекап базы данных. Для этого создадим директорию mysqlBackup в корне аккаунта.

amanikin@kondr ~ $ mkdir mysqlBackup

Перейдем в mysqlBackup

amanikin@kondr ~ $ cd mysqlBackup

К сожалению нельзя получить список все баз на аккаунте, поэтому придется посмотреть их в Панели Управления (далее по тексту ПУ) аккаунтом.

Управление MySQL


Выполним бекап баз данных с помощью команды mysqldump. Синтаксис вызова следующий:

mysqldump -u USERNAME -pPASSWD USERNAME --default-character-set=cp1251 > USERNAME.sql

# Где:
# USERNAME - имя пользователя базы данных (совпадает с именем базы)
# PASSWD   - пароль базы данных
# Обращаем Ваше внимание на то, что между параметром -p и PASSWD не должно 
# быть пробела.

После выполнения данной команды для всех БД в директории musqlBackup у нас будет лежать дамп всех баз mysql.

amanikin@kondr ~/mysqlBackup $  mysqldump -u amanikin_test1 -p123123 amanikin_test1  /
  --default-character-set=cp1251 > amanikin_test1.sql
amanikin@kondr ~/mysqlBackup $  mysqldump -u amanikin_test2 -p123123 amanikin_test2  /
  --default-character-set=cp1251 > amanikin_test2.sql
amanikin@kondr ~/mysqlBackup $  ls

amanikin_test1.sql  amanikin_test2.sql

3) Теперь имея полный бекап БД нужно создать архив сайта, наиболее распространенный формат это ZIP, так что, и архив мы будем создавать в этом формате.

Для создания архива необходимо перейти в корень аккаунта и выполнить команду:

amanikin@kondr ~/mysqlBackup $  cd ~
amanikin@kondr ~/mysqlBackup $  tar -cvzf siteBackup_`date '+%Y%m%d'`.tar.zip *

В корне Вашего аккаунта будет лежать файл siteBackup_{дата создания архива}.tar.zip, в котором будет содержаться архив вашего сайта.