Как сделать бэкап любого сайта через SSH: пошаговая инструкция (всего 14 шагов!)

sshНа днях пришлось делать бэкап сайта через SSH. Решил написать сам себе шпаргалочку на будущее и выложить на свой блог. Вдруг еще кому пригодится… Эта инструкция действительна, если у вас веб-сервер Apache 2 на Linux и сайт на PHP/MySQL (в такой конфигурации работает большинство сайтов в Интернете).

Скорее всего, для новичков эта статья не подойдет, однако если у вас уже есть хотя бы небольшой опыт работы с командной строкой и администрирования веб-сервера Apache, то эта статья будет отличным напоминанием.

Если у вас сайт на WordPress, то вы можете создать бэкапы при помощи специальных плагинов.

Еще вам могут пригодиться другие команды терминала Ubuntu, Linux и Mac OS X (если вы никогда не работали с консолью, то сначала обязательно прочтите эту статью).

Хочу сказать, что если вы умеете делать бэкапы через SSH, то делать бэкапы через SSH намного легче и быстрее, чем при помощи FTP и PhpMyAmin. Но чтобы научиться пользоваться SSH, придется потратить время.

Что такое SSH простыми словами?

Вы можете подключиться к своему сайту, чтобы скачать его файлы, по FTP или SSH. Это названия протоколов передачи данных, которые описывают, как будут передаваться данные. Если вы подключаетесь по ФТП, то ваши файлы передаются в открытую через Интернет, а если вы передаете их по SSH, то все данные зашифрованы.

SSH обычно пользуются опытные системные администраторы, которые виртуозно владеют командной строкой. В общем, пользоваться SSH непросто, но безопасно. ФТП использовать намного проще, и если вы новичок, то лучше пользоваться ФТП.

Пара слов о настройках веб-сервера Apache в разных дистрибутивах Linux

Обычно конфигурационный файл Apache лежит в следующих папках в зависимости от операционной системы:

  • Fedora, CentOS (один файл, который содержит информацию обо всех сайтах): /etc/httpd/conf/httpd.conf.
  • Debian, Ubuntu (система небольших конфигурационных файлов, обычно один отдельный файл на каждый сайт или однородных настроек сервера): /etc/apache2/apache2.conf

Конфигурирование также возможно в отдельном файле .htaccess на уровне директорий, чтобы дополнить или переписать настройки конфигурационных файлов.

Полезные команды для работы с веб-сервером Apache

  • apachectl -V – эта команда показывает версию Апаче и где лежит конфигурационный файл (утилита apachectl установлена не на всех серверах!);
  • grep -v “^$|^[[:space:]]*#” /etc/httpd/conf/httpd.conf | less – эта команда позволяет читать конфигурационный файл без комментариев (v – выборка несовпадающих строк);
  • service apache2 status – проверка статуса веб-сервера Apache.

Пошаговая инструкция по созданию бэкапа сайта через SSH

На самом деле в создании бэкапа сайта через SSH нет ничего сложного, просто надо хорошо освоить командную строку.

Самое сложное – это найти корневую директорию сайта (папку, где лежат все файлы сайта), а потом в этих файлах найти, в каком файле записаны доступы к базе данных.

Если у вас сайт на WordPress, то доступы к БД находятся в файле wp-config.php, если сайт на Joomla, то в файле – configuration.php, а если на Drupal, то в файле – settings.php. WordPress, Joomla, Drupal – это три самые популярные в мире CMS.

ШагЧто делаемКоманда
1Открываем командную строкуLinux: Ctrl + Alt + T
Mac OS X: Command (⌘) + Т
2Подключаемся к удаленному серверу по SSHssh user-name@server-ip
3Выясняем, в какой папке на сервере лежат файлы нашего сайта. Входим в папку, где лежат виртуальные хосты.cd /etc/apache2/sites-enabled
4Смотрим названия файлов с виртуальными хостами *.confls
5Открываем файлы виртуальных хостов *.conf при помощи текстового редактора nano и смотрим, в какой папке лежит сайт (в строке Document Root)nano file.conf
6Выходим из текстового редактора nanoCtrl + X
7Переходим в папку, в которой лежит сайтcd /var/www/vhosts/pma/httpdocs
8Ищем в конфигурационных файлах доступы к базе данныхls
9Открываем файлы с именами index.php или config.php и им подобные и ищем в них доступы к БДnano config.php
10Если на предыдущем шаге не удалось найти доступы к БД, то ищем в корневой директории сайта файлы, содержащие слово "database"grep -i -R "database" <корневая папка сайта>
11Подключаемся к базе данных MySQLmysql -u user -p database
12Создаем бэкап базы данных MySQLmysqldump -u [username] -p [database name] > [database name].sql
13Создаем бэкап с файлами веб-сайта в формате .zip (эта команда архивирует все файлы и подкаталоги из корневой папки сайта в архив с названием backup.zip)zip -r backup.zip <корневая папка сайта>/
14Копируем созданные бэкапы с сервера на свой компьютер (эта команда скачивает файл backup.zip с сервера на текущий компьютер в папку folder)scp user-name@server-ip:backup.zip /local/folder

 

comments powered by HyperComments
1 Star2 Stars3 Stars4 Stars5 Stars (7 голосов, среднее: 5,00 из 5)
Загрузка...