Мои сайты находятся у одного из хостинг-провайдеров. Однако качество его услуг оставляет желать лучшего, хотя он один из самых крупных и старых. В итоге решил я перенести от него свои сайты на другой хостинг в Германии (поддержка — общаются на русском), за которым я слежу уже с 2013 года. Моё впечатление — ребята постоянно улучшают качество своих услуг. Качество у них было и в 2013 на уровне. Почитал отзывы — по отзывам они также хороши. Стоимость в разы меньше, чем у наших зажравшихся хостинг-провайдеров.

Решил перенести сначала только один свой проект, а следом все проекты переведу туда. Перенеся один из проектов, я понял, что не ошибся с выбором. Скорость работы сайта отличная. За доступностью сайта буду следить, подключив мониторинг.

Хостинг-провайдер, у которого был ранее мой проект, ежедневно делал резервное копирование баз и сайтов. У нового всё проще, поэтому с резервным копированием они не заморачивались и отдают это на откуп пользователям.

Решил я ручками настроить резервное копирование своих сайтов и баз данных с загрузкой резервной копии на мой FTP-сервер. Осталось найти PHP-скрипт, который будет архивировать сайты, базы и загружать на FTP. К сожалению, этого я не нашёл. Можно конечно использовать плагины к своей CMS, но я стараюсь минимизировать количество плагинов.

В итоге я нашёл у себя в архиве несколько скриптов, каждый из которых делал или архивирование, или загрузку на FTP, и объединил их в один PHP скрипт, который делает всё вместе. Кто авторы начальных скриптов, из которых я собрал свой скрипт я уже даже и не помню, но спасибо им за работу.

Сам скрипт у меня запускается через CRON, и я его поместил на уровень выше сайтов в служебный каталог на хостинге (извне он не доступен), чтобы плохиши не пытались его постоянно запускать и таким образом меня ДДОСить. Я конечно же никому не нужен, но кретинов хватает.

Сам скрипт находится во вложении к статье с комментариями, где и что прописывать, поэтому описание настроек скрипта пропустим, а кратко опишу как подключать скрипт.

Что скрипт делает:
— собирает указанные сайты (любое количество, указывается в настройках);
— делает копии баз (любое количество, указывается в настройках);
— архивирует собранные данные в zip-архив;
— загружает архив на любой указанный вами FTP;
— дополнительно хранит архивы на вашем аккаунте, на хостинге, указанное вами в скрипте время.

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

Вам необходимо узнать у своего хостинг-провайдера путь к вашей домашней директории. У меня на хостинге cPanel, поэтому я сразу могу получить эту информацию:

Эта информация нам понадобится для того, чтобы прописать в скрипте.

Сайты у меня находятся относительно моей домашней директории следующим образом:

"/home/USER/sait.ru" (это пример)
"/home/USER/sait2.ru" (это пример)

Также нам нужно узнать, как в CRON прописать путь к PHP (в справке у вашего хостинг-провайдера или напишите вопрос в чате, задайте по телефону).

У меня на хостинге PHP запускается в CRON сразу командой: php
У некоторых так: /usr/bin/php (есть и ещё несколько вариантов, лучше узнайте у своего хостинг-провайдера).

Свой скрипт я помещаю в каталог /home/USER/script

В итоге после настройки скрипта я его прописываю в CRON следующей строкой:

php -f /home/USER/script/backup-sait-db-inftp.php
Как сделать автоматическое резервирование сайтов и баз данных с загрузкой на FTP

Теперь с указанной вами периодичностью будет запускаться автоматическое резервирование сайтов и баз данных с загрузкой на ваш FTP.

Скачать скрипт резервного копирования сайтов и баз данных