Делаем бэкапы и загружаем на сервис Яндекс Диск

Начнём с того, что такое Яндекс Диск и с чем его едят.
Яндекс Диск — это прекрасный бесплатный сервис для хранения ваших файлов.
По умолчанию пользователю выдаётся 3 Гб дискового пространства, но выполнив после регистрации несложные операции можно прокачать его до 11 Гб.
Зарегистрируйтесь по нашей ссылке и получите дополнительно 1 Гб пространства!

Используя данный сервис, мы можем без проблем там хранить, к примеру, бэкапы с файлами сайта.

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

1. Для начала создаём ssh скрипт с названием backup.sh
Важно чтобы содержимое скрипта не имело windows перенос срок, иначе получим ошибку.
Лучше всего создать файл прямо на сервере через SSH с помощью команды:
touch backup.sh
2. Установим на данный файл права, которые запрещают просматривать его посторонним лицам:
chmod 0700 backup.sh
3. Сам текст скрипта будет таким:

#!/bin/bash

SERVER_NAME="backup1"
TIME=`date +%Y-%b`

FS_FILE=/temp/$SERVER_NAME-fs.$TIME.tar.gz
MYSQL_FILE=/temp/$SERVER_NAME-mysql.$TIME.sql.gz

# Archiving filesystem
tar -czf $FS_FILE /home/www/site.ru

# Archiving databases
mysqldump -u bduser --password=qwerty --all-databases | gzip > $MYSQL_FILE

# Uploading to the cloud
curl --user USER:PASSWORD -T "{$FS_FILE,$MYSQL_FILE}" https://webdav.yandex.ru/

# Cleanup
unlink $FS_FILE
unlink $MYSQL_FILE

backup1 — это название нашего архива, можете указать в нём практически что угодно.
/temp — это абсолютный путь к временной директории где будут создаваться архивы. Важно чтобы директория реально существовала.
/home/www/site.ru — абсолютный путь к директории, которую будем бэкапить. Через пробел можно указать несколько директорий следующим образом:
tar -czf $FS_FILE /home/www/site.ru /home/www/site2.ru
bduser — пользователь БД, qwerty — пароль к данному пользователю. В данном случае мы сохраняем все базы нужного нам пользователя
USER:PASSWORD — это доступы к сервису Яндекс Диск.
Переменная $TIME подобрана так, что у вас будут скапливаться бэкапы от последнего числа каждого месяца. Её можно и убрать.

Данный скрипт советуем добавить в cron чтобы запускать резервирование автоматически.

Всё хорошо, у нас теперь есть удалённые бэкапы сайта. Единственный минус — сервис Яндекс Диск позволяет сохранять файлы не больше 3 Гб, имейте это в виду при создании скрипта.

« »

3  - количество комментариев в “Делаем бэкапы и загружаем на сервис Яндекс Диск”

  1. Марина

    Встал вопрос, куда бэкапить сайт, наткнулась на вашу статью, идея с Яндекс.Диском очень понравилась, удобно. Спасибо!
    Но знаний не хватило со скриптом разобраться, в итоге нашла себе бесплатную программу для автоматического бэкапа на яндекс.диск. Пробую с ней совладать, пока все легко вроде, настроила автоматический бэкап по расписанию. Может кому-нибудь пригодится: http://www.handybackup.ru/handybackup-for-yandexdisk.shtml

  2. Все это можно сделать с помощью специализированного софта, но зачем загружать систему дополнительным ПО, которое еще и будет висеть в фоне, когда можно обойтись несколькими простыми скриптами?

  3. pank5555564

    Эта замечательная мысль придется как раз кстати

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