Бэкап сайта в Google Диск

Здравствуйте, уважаемые читатели. Сегодня статья на тему: "Бэкап сайта в Google Диск". Рассмотрим настройку ручного и автоматического резервного копирования сайта в Google Диск.
Бэкап сайта – это резервное копирование файлов сайта, и дампа базы данных сайта, для возможности восстановления, в случае непредвиденных обстоятельств, либо программного или аппаратного сбоя.
Для наших целей, в статье я буду использовать утилиту DRIVE. DRIVE – это консольная утилита для загрузки, скачивания, и удаления файлов в Google Диск. Утилита DRIVE работает на всех операционных системах Linux.
Скачивание и установка утилиты DRIVE
- Скачать DRIVE, можно при помощи утилиты wget.
# wget -O drive https://drive.google.com/uc?id=0B3X9GlR6EmbnMHBMVWtKaEZXdDg
- После скачивания, перемещаем утилиту в директорию /usr/sbin/, и добавляем нужные права для её работы.
# mv drive /usr/sbin/drive # chmod +x /usr/sbin/drive
- При первом запуске, нужно будет произвести подключение к Вашему Google аккаунту, и дать разрешение на подключение утилиты к Вашему Google Диску.
- Запускаем утилиту.
# drive
- В консоли появляется ссылка, которую нужно ввести в браузере, и перейти по ней. Ниже появляется приглашение для ввода верификационного кода.

- При переходе по ссылке в браузере, если в данный момент Вы не авторизованы в аккаунте Google, Вам предложат авторизоваться.

- Если Вы авторизованы, то сразу появится окно с вопросом о доступе приложения к Вашему аккаунту. Нужно дать разрешение.
- После Вашего разрешения, в браузере появится верификационный код, который нужно скопировать и ввести в консоли. Вводим код, и жмём на «Enter».
- После произведённых действий, Вы можете пользоваться всеми возможностями DRIVE.
- Список всех команд, можно посмотреть с помощью команды drive help.
- Основные команды:
# drive list - список файлов # drive upload --file /путь/до/файла - загрузка файла на диск # drive download -i идентификатор файла - скачивание файла с диска # drive delete -i идентификатор файла - удаление файла на диске
- Идентификатор нужного файла, можно узнать посмотрев список всех файлов. При просмотре списка, возле каждого файла будет отображаться его идентификатор.
# drive list
Ручное резервное копирование в Google Диск.
Алгоритм действий при резервном копировании в Google Диск, заключается в первоначальном создании локального бэкапа, с последующей загрузкой в Google Диск. После загрузки в Google Диск, локальные копии удаляются.
В предыдущей статье, мы рассматривали установку и настройку LEMP в Debian 10. В частности произвели установку cms WordPress. Я для примера, буду производить бэкап директории и базы данных, из предыдущей статьи.
- Создаём бэкап файлов сайта, и дамп базы данных в локальной директории.
# tar -czvf /var/www/test.ru/backup-`date +"%Y-%m-%d"`.tar.gz -C /var/www/test.ru/ site # mysqldump -u admin -p123 test | gzip -c > /var/www/test.ru/mysql-`date +"%Y-%m-%d"`.sql.gz
Дамп базы данных test, пользователь admin, с паролем 123.
- Загружаем созданные архивы в Google Диск.
# drive upload -f /var/www/test.ru/backup-*.tar.gz # drive upload -f /var/www/test.ru/mysql-*.sql.gz
- После загрузки архивов в Google Диск, удаляем локальные файлы.
# rm -rf /var/www/test.ru/backup-*.tar.gz # rm -rf /var/www/test.ru/mysql-*.sql.gz
Автоматическое резервное копирование в Google Диск
- Для настройки автоматического резервного копирования, достаточно создать скрипт с командами из ручного бэкапа, и добавить задание на выполнение скрипта в системный cron.
- Создаём директорию для скрипта, и сам скрипт /root/bin/backup.sh.
# mkdir /root/bin
#!/bin/sh # Создание архива /usr/bin/tar -czvf /var/www/test.ru/backup-`date +"%Y-%m-%d"`.tar.gz -C /var/www/test.ru/ site # Выгружаем базу данных /usr/bin/mysqldump -u admin -p123 test | gzip -c > /var/www/test.ru/mysql-`date +"%Y-%m-%d"`.sql.gz # Закачиваем файлы на g.drive /usr/sbin/drive upload -f /var/www/test.ru/backup-*.tar.gz /usr/sbin/drive upload -f /var/www/test.ru/mysql-*.sql.gz ## Удаляем временые файлы rm -rf /var/www/test.ru/backup-*.tar.gz rm -rf /var/www/test.ru/mysql-*.sql.gz
- Делаем скрипт исполняемым.
# chmod 0740 /root/bin/backup.sh
- Добавляем в файле /etc/crontab, задание на ежедневное выполнение скрипта в 02:30 ночи.
# 30 2 * * * root /root/bin/backup.sh >/dev/null 2>&1

В зависимости от размеров бэкапов Вашего сайта, пространство на Google Диске, будет через какое-то время заполняться. Поэтому нужно иногда заходить, и удалять старые бэкапы, освобождая место для новых. Не забывайте заходить в корзину, и отчищать её. В противном случае, файлы всё ещё будут занимать место в течение месяца, пока автоматически не будут удалены из корзины.
Восстановление сайта из бэкапа в Google Диск
- Заходим в директорию, на одну директорию выше корневой директории сайта. В моём случае это /var/www/test.ru/.
# cd /var/www/test.ru/
- Загружаем в эту директорию архивы бэкапа. Делаем это любым удобным способом.
- При использовании утилиты DRIVE, сначала узнаём идентификаторы нужных файлов.
# drive list
- Узнав идентификаторы, производим скачивание нужных файлов на сервер.
# drive download -i идентификатор_архива_с_файлами_сайта # drive download -i идентификатор_архива_с_дампом_базы_данных
- Удаляем коревую директорию сайта.
# rm -rf /var/www/test.ru/site
- Извлекаем содержимое архива с файлами сайта, в моём случае, команда будет такой:
# tar -xzvf backup-2021-07-22.tar.gz
- Файлы сайта мы восстановили, переходим к восстановлению базы данных.
- Разархивируем архив с дампом базы данных. В моём случае это будет так:
# gunzip mysql-2021-07-22.sql.gz
- Подключаемся к базе данных, под нужным пользователем и паролем, и загружаем дамп базы данных.
# mysql --host=localhost --user=admin --password=123 test; # source /var/www/test.ru/mysql-2021-07-22.sql # quit;
- На этом восстановление завершено. Осталось только удалить оставшиеся файлы бэкапов.
# rm -rf /var/www/test.ru/backup-2021-07-22.tar.gz # rm -rf /var/www/test.ru/mysql-2021-07-22.sql
Вот такими не сложными действиями, можно организовать резервное копирование сайта в Google Диск, и произвести восстановление при необходимости.
Сегодня мы рассмотрели тему: "Бэкап сайта в Google Диск". Произвели ручной бэкап сайта, настройку автоматического бэкапа, и восстановление сайта из резервной копии. Смотрите так же, видео по теме.
Надеюсь статья была вам полезна. До встречи в новых статьях.
✍
С уважением, Андрей Бондаренко.
Видео на тему "Бэкап сайта в Google Диск":

WMZ-кошелёк = Z667041230317
«Linux»