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

Резервная копия файлов

Создание архива

$ cd ~/
$ tar -zcvf site_backup.tar.gz /var/www/domain.com/public_html

Первая команда вовсе не обязательна. cd ~/ перекидывает вас в домашнюю директорию. Именно там архив и будет создан.

Далее происходит сама архивация.

tar [-ключи] [имя архива] [путь к файлам]

Непонятно пока только с ключами. Разберем каждый из них:

  • -z (--gzip) — архив .gz (gzip);
  • -c (--create) — собственно создание архива;
  • -v (--verbose) — выводим в терминал листинг файлов, которые будут запакованы;
  • -f (--file) — созданный архив сохраняем в файл.

Все встало на свои места. Теперь, когда нужно создать просто .tar архив, нужно просто выкинуть ключ -z из этого примера:

$ tar -cvf site_backup.tar /var/www/domain.com/public_html

или например:

$ tar -jcvf site_backup.bz2 /var/www/domain.com/public_html
Внимание! Не используйте .ZIP архивы. Они имеют ограничение по размеру в 2Гб. 

Распаковка архива

Для распаковки используется все та же команда tar, просто с другими ключами:

$ cd /var/www/domain.com/publuc_html
$ tar -xvzf site_backup.tar.gz

Разница в том, что вместо теперь -x (--extract), который позволяет разархивировать указанный файл

На самом деле все еще проще:

$ tar -vxzf site_backup.tar.gz /var/www/domain.com/public_html

Теперь приступаем к БД.

Резервная копия базы данных

Создание резервной копии базы данных

Тут одна большая шпаргалка.

-pPASSWORD — не опечатка. пробела нет между ключем и паролем. Например, если у вас пароль strongPassword, то нужно будет писать -pstrongPassword
# USER - ваш пользователь, у которого есть привилегии read
# PASSWORD - пароль пользователя USER
# DATABASE - база, которую вы хотите сохранить в файл

# Создание резервной копии базы DATABASE
mysqldump -u USER -pPASSWORD DATABASE > ~/data_base_backup.sql

# Перенос структуры БД, без данных
mysqldump --no-data - u USER -pPASSWORD DATABASE > ~/data_base_backup.sql

# Создание резервной копии определенных таблиц users и posts
mysqldump -u USER -pPASSWORD DATABASE users posts > ~/data_base_backup.sql

Восстановление базы данных

Для начал нужно создать базу, куда мы будем делать импорт:

mysqladmin -u USER -pPASSWORD create NEWDATABASE

и залить файл .sql туда:

mysql -u USER -pPASSWORD DATABASE < ~/data_base_backup.sql

В этих примерах файлы находились в домашней директории ~/.

Смена прав и владельца для файлов и папок

Для того, чтобы сменить права на папку через терминал, нужно воспользоваться следующей командой:

$ chmod -R 755 /var/www/domain.com/public_html

Права сменятся не только для папки public_html, но и для всех вложенных в нее файлов и папок.

Для смены владельца делаем следующее:

$ sudo chown -R www-data:www-data /var/www/domain.com/public_html

После этой команды директория public_html будет принадлежать пользователю www-data из группы www-data.


Комментариев нет

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

*

*

*