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

Описание создания резервных копий файлов своего сайта на сервере CentOS (Linux). И дальнейшее перемещение этих backup файлов на Яндекс.Диск.

Для сохранения данных своего сайта важно вовремя делать резервные копии. Желательно копии резервных данных хранить на стороннем сервере. В данном случае мы будем сохранять резервные копии файлов на Яндекс.Диске.

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

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

Только после установки диска приступаем к настройке копирования резервных данных.

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

На Яндекс.Диске создаём папки с названием сайта. Затем внутри этой папки создаём следующие папки: day, week, month.

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

Подключаемся к нашему серверу по протоколу SSH.

Создание папок через командную строку:

Ежедневная резервная копия MySQL и одной папке

Теперь создаём папку на сервере, куда будем складывать все свои скрипты – my_scripts и первый файл скрипта backup_webdav_day.sh:

Скрипт будет сохранять ежедневные копии базы данных MySQL и также папку themes (шаблона сайта для WordPress). Я частенько совершенствую дизайн сайта и добавляю какие-нибудь новые элементы. И мне важно иметь копии этих данных на каждый день.

Можно папку themes поменять на любую другую. Например на папку загрузки изображений, в WordPress это папка – uploads. Если вы пишите статьи каждый день и загружаете картинки в каждую статью, то для вас может быть важным создание ежедневных резервных копий всех скриншотов на сайте.

Записываем в файл backup_webdav_day.sh следующее:

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

Ручной запуск скрипта:

Еженедельная полная резервная копия

Создаём копию для всего сайта.

Создаём файл скрипта backup_webdav_week.sh:

Записываем в этот файл:

Ручной запуск скрипта:

Ежемесячная полная резервная копия

Создаём копию для всего сайта, которая будет хранится в папке month.

Создаём файл скрипта backup_webdav_month.sh:

Записываем в этот файл:

Ручной запуск скрипта:

Ошибка line 20: /usr/bin/tar: No such file or directory

Если возникает подобная ошибка, значит tar находится в другой директории. Попробуйте изменить /usr/bin/tar на /bin/tar. И запустить скрипт ещё раз.

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

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

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

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

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

Копируем папку со скриптами в корневой каталог сайта.

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

Создаём скрипт очищающий временную папку с кэшем

При создании резервных копии содержимое остаётся в папке с кэшем /var/cache/davfs2/, что приводит к переполнению жесткого диска. Решаем эту задачу созданием специального скрипта. Подробнее в статье переполнение кэша davfs2.

Как разархивировать архив

Для восстановления резервных файлов на сервере используем рекомендациями из статьи «быстрое восстановление резервных копий на сервере Linux».

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

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

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