Backup to Dropbox: Backup сайта с заливкой в DropBox


Задался на днях мыслью о корректном backup'е нескольких WordPress сайтов с последующей заливкой их на какой-то бесплатное хранилище. Как всегда хотелось что бы это выполнялось без дополнительных плагинов.

Выбор хранилища пал на Dropbox. По умолчанию Вам предоставляется 2Gb места в рамках бесплатной учетной записи. Если нужно больше места - его можно купить за относительно небольшие деньги. Как правило дисковое пространство стоит довольно дешево у хостинг провайдеров.

Для моих нужд 2Gb хватит с головой. Для CMS WordPress есть несколько плагинов, которые умеют сами все делать, но ни один из них мне не понравился из-за того, что хранил архивы в папке сайта, при этом каждый следующий бэкап увеличивался на размер предыдущего и размер сайта довольно быстро превысил допустимую квоту.

Решил сделать все руками. Тем более, нужно архивировать несколько сайтов.

Шаг 1: Регистрация на Dropbox
Шаг 2: Скачиваем скрипт загрузки файлов с github.com

curl "https://raw.githubusercontent.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh" -o dropbox_uploader

Делаем файл исполняемым:

chmod +x dropbox_uploader

Запускаем и следуем инструкциям (все довольно просто):

./dropbox_uploader

Для меня осталось загадкой, почему DropDox не смог доставить письмо верификации учетной записи на почтовый ящик Gmail.

Шаг 3: Настраиваем скрипт, который будет делать непосредственный backup и дергать dropbox_uploader для отгрузки данных.

Скрипт сделает бэкап всех баз данных mysql, сожмет все папки сайтов с помощью tar, зальет все это в DropBox, пришлет уведомление на email и удалит старые бэкапы из DropBox'а.

Моя стратегия такая:

  • резервное копирование запускается в полночь в понедельник, среду и пятницу
  • резервные копии хранятся 7 дней, потом удаляются (замещаются новыми)
  • бэкап, созданный 30-го числа месяца, хранится вечно

Скрипт:

  • рассчитывает, что папки с сайтами хранятся в /var/www;
  • использует утилиту mail для отправки отчета на почту;
  • Временные файлы располагает в /var/backup/server;
  • Application в DropBox'у у меня называется backup;

Если в Вашем случае что-то отличается - отредактируйте скрипт соответствующим образом.

Для начала убедитесь что у Вас установлены mailutils:

apt-get install mailutils

Потом создайте папки:

mkdir -p /var/backups/server/files/
mkdir -p /var/backups/server/databases/

Скачиваем скрипт:

wget http://www.tech-notes.net/wp-content/uploads/2014/10/backup

Делаем файл исполняемым:

chmod +x backup

Можно открыть файл и вписать Вам email во вторую строку, что бы получать уведомления об успешном завершенни операции.

mail='your@mail.com'

Осталось запланировать периодическое выполнение скрипта с помощь crontab:

crontab -e

Я делаю бэкапы по Понедельникам, Средам и Пятницам, поэтому в моем случае это:

0 0 * * 1,3,5 /root/backup

На этом все.

Share Button
(Visited 189 times, 1 visits today)

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

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

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.