База знаний VPS/VDS/Сервера Резервное копирование Резервное копирование без панели

Резервное копирование без панели

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

Для решения этой проблемы мы написали скрипт, который будет выгружать Ваши бэкапы на Backup-фтп диск, который предоставляется с VDS, либо на любое другое FTP-хранилище данных.

ВНИМАНИЕ! АДМИНИСТРАЦИЯ ХОСТИНГА НЕ НЕСЁТ ОТВЕТСТВЕННОСТИ ЗА НЕПРАВИЛЬНУЮ ЭКСПЛУАТАЦИЮ СКРИПТА, ПРОБЛЕМЫ ПРИ ВЫГРУЗКЕ БЭКАПОВ. ЕСЛИ ВЫ НЕ ЗНАЕТЕ, КАК ИСПОЛЬЗОВАТЬ ДАННЫЙ СКРИПТ, РЕКОМЕНДУЕМ ОБРАТИТЬСЯ В ТЕХНИЧЕСКУЮ ПОДДЕРЖКУ ДЛЯ ЕГО НАСТРОЙКИ.

1) Скачайте скрипт по ссылке: https://dl.hostiman.ru/sources/FtpBackup.php
2) Поместите скрипт в папку, в которой сохраняются резервные копии. Это важно, так как кроме бэкапов в этой папке ничего не должно быть - скрипт после выгрузки бэкапов удаляет их локально.
3) Откройте скрипт и установите переменные:

$host - хост или IP фтп-сервера
$login - логин фтп-сервера
$password - пароль фтп-сервера
$port - порт фтп сервера (по умолчанию 21, чаще всего менять не надо)
если нужно, установите константу SAVE_LAST_DAYS - по умолчанию она установлена в значении 7, это означает что бэкапы будут сохранены за последнюю неделю (если бэкапы делаются реже, чем каждый день, можно увеличить это число, но учтите, что так может забиваться пространство FTP).
$removeUploaded - по умолчанию, всё что загрузит скрипт на фтп сервер, будет удалено с исходного сервера. Установите false, чтобы этого не происходило.

Поместив скрипт в папку с бэкапами, например /backup, следующим шагом будет проверка установленного окружения для скрипта. Так как скрипт написан на PHP, то нужно установить всего 2 пакета - php-cli и php-ftp
Сделать это можно при помощи установленного в системе пакетного менеджера (yum, dnf или apt в зависимости от OS):
CentOS/Redhat: yum install php-cli php-ftp -y
Fedora/CentOS 8: dnf install php-cli php-ftp -y
Ubuntu/Debian: apt-get install php-cli php-ftp -y

После успешной установки окружения, можно попробовать запустить скрипт командой:

php /backup/FtpBackup.php

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

Если всё отработало корректно, добавьте задание cron для запуска скрипта по расписанию (cron должен быть установлен на сервере):

echo "0 5 * * * root /usr/bin/php /backup/FtpBackup.php > /dev/null 2>&1" >> /etc/cron.d/backup

Важно: путь до скрипта при тестировании и при добавлени в крон нужно заменить на свой. Если /etc/cron.d не существует, то вместо /etc/cron.d/backup можно использовать /etc/crontab

после добавления cron задания, перезагрузите сервис cron.

ВНИМАНИЕ! АДМИНИСТРАЦИЯ ХОСТИНГА НЕ НЕСЁТ ОТВЕТСТВЕННОСТИ ЗА НЕПРАВИЛЬНУЮ ЭКСПЛУАТАЦИЮ СКРИПТА, ПРОБЛЕМЫ ПРИ ВЫГРУЗКЕ БЭКАПОВ. ЕСЛИ ВЫ НЕ ЗНАЕТЕ, КАК ИСПОЛЬЗОВАТЬ ДАННЫЙ СКРИПТ, РЕКОМЕНДУЕМ ОБРАТИТЬСЯ В ТЕХНИЧЕСКУЮ ПОДДЕРЖКУ ДЛЯ ЕГО НАСТРОЙКИ.