Перемещаем резервные копии на Яндекс Диск

Admin Bash, CentOS, Linux, VPS

Автоматизация перемещения резервных копий своего сайта с сервера на Яндекс.Диск.

Описание даётся на примере сервера CentOS (Linux).

Предполагается, что резервные копии уже складываются в определённую папку. В примере ниже это папка backup, расположенная в корне сервера.

Создавать резервные копии умеют очень многие системы по управлению сайтами (например: VESTA, ISPManager, а также различные WordPress плагины).

Для создания и перемещения резервных данных одним скриптом, не используя сторонние решения, смотрите другую статью: Создание резервных копий и перемещение на Яндекс Диск.

Предварительно устанавливаем Яндекс Диск на свой Linux сервер.

После установки и настройки Яндекс Диска заходим к себе на сервер через Терминал.

Через командную строку создаём на сервере директорию my_scripts и файл скрипта backup_webdav.sh, который будет перемещать резервные копии на Яндекс Диск:

cd /
sudo mkdir my_scripts
nano /my_scripts/backup_webdav.sh

Вставляем содержимое скрипта:

# Монтируем Яндекс Диск
mount -t davfs https://webdav.yandex.ru /mnt/yandex/
#mv /backup/ /mnt/yandex
cp -r /backup/* /mnt/yandex
# Отключаем Яндекс Диск
umount /mnt/yandex

где ключ -r – означает копирование в том числе и папок.

При желании можно перемещать папку целиком, для этого раскомментируем команду перемещения, а команду копирования закомментируем.

# Монтируем Яндекс Диск
mount -t davfs https://webdav.yandex.ru /mnt/yandex/
mv /backup/ /mnt/yandex
#cp -r /backup/* /mnt/yandex
# Отключаем Яндекс Диск
umount /mnt/yandex

Из папки /backup/ данные будут копироваться в папку Яндекс Диска, который подключен по пути /mnt/yandex.

Запуск скрипта вручную:

sh /my_scripts/backup_webdav.sh

или если не работает, так:

cd /my_scripts
sh backup_webdav.sh

Можно скрипт внести в задания CRON и назначить расписание.

Добавляем задания в CRON

Открываем файл CRON

nano /etc/crontab

Добавляем данные:

# Backup to Yandex Disk
# ежедневно в 2:00
00 2 * * * root /my_scripts/backup_webdav.sh >/dev/null 2>&1

На файл backup_webdav.sh нужно выставить права доступа chmod +x, иначе он не будет запускать через CRON. Для этого через командную строку вводим:

cd /my_scripts/
chmod +x backup_webdav.sh

Теперь каждый день в 2 часа ночи, резервные копии, созданные сторонними программами, будут перемещаться на Яндекс Диск.

Делаем для скриптов резервную копию

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

Можно и вовсе не делать скрипт в корневой папке сервера, а сразу сделать его в корне сайта и подцеплять через CRON. Тогда скрипт можно создавать через FTP-клиент, а консоль понадобится только для редактирования файла cron. Но в этом случае резервное копирование по расписанию может и не заработать, каких-то настроек для CRON будет не хватать.

У сайта нет цели самоокупаться, поэтому на сайте нет рекламы. Но если вам пригодилась информация, можете лайкнуть страницу, оставить комментарий или отправить мне подарок на чашечку кофе.

Комментарии к статье “Перемещаем резервные копии на Яндекс Диск” (2)

  • Сергей
    27.09.2018 в 09:26

    как правильно добавить скрипт в панели управления Vesta в Cron?
    так:
    sudo sh /my_scripts/backup_webdav.sh ?

    • Admin
      Автор записи
      29.09.2018 в 00:26

      Через Vesta я редко добавляю, потому наверняка не скажу, как в данном случае, но скорее всего без sh, так:
      sudo /my_scripts/backup_webdav.sh

      Возможно скрипт нужно положить куда-нибудь вроде:
      sudo /usr/local/vesta/bin/backup_webdav.sh

      Или даже убрать окончание у файла (по аналогии, как это сделано сейчас для внутренних скриптов Vesta):
      sudo /usr/local/vesta/bin/backup_webdav

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

Напишите свой комментарий, если вам есть что добавить/поправить/спросить по теме текущей статьи:
"Перемещаем резервные копии на Яндекс Диск"