Настройка бекапа cайтов по FTP-подключению

1.Настройка бекапа удаленных сайтов по FTP через монтирование удаленных сайтов с помощью curlftpfs и дальнейшего выполнения rsync/tar на удаленный/локальный сервер

Загружаем необходимый модуль ядра fuse и добавляем его загрузку в автозагрузку

Debian/Ubuntu

Установка curlftpfs

Логины/пароли для подключения к сайтам сохраним в отдельный файл, чтобы они не отображались в командной строке при просмотре процессов, использовании команды df и т.д.

Создаем каталоги – точки монтирования, куда будут смонтированы удаленные сайты

Монтируем удаленные сайты

Проверяем отсутствие логинов/паролей в командной строке

Размонтирование

Простой скрипт для выполнения бекапа удаленных сайтов(добавляем в cron на ежесуточное выполнение)
Монтируем удаленный сайт через curlftpfs
Cинхронизируем содержимого удаленного сайта,например, с каталогом сайта на сервере бекапов(либо локальным сервером)
Размонтируем ранее смонтированный каталог содержащий сайт
Ошибки перенаправляем в файл /var/log/curlftpfs.log для дальнейшего парсинга данного файла системой мониторинга(Zabbix,Nagios etc)
Непосредственно сам сайт размещается в каталоге www на удаленном сервере, который (www)расположен в домашнем каталоге FTP-пользователя

# nano /usr/local/scripts/curlftpfs.sh

Если необходимо добавить автомонтирование при загрузке сервера
1.Либо добавить в /etc/rc.local

2. Либо добавить в /etc/fstab

Ели необходимо предоставить доступ для обычного пользователя, то используемые следующие опции в /etc/fstab

где uid=1000 и gid=1000 идентификатор нужного пользователя и его группы

Проверить корректность монтирования — смонтировав удаленные сайты

https://habrahabr.ru/post/85084/
https://wiki.archlinux.org/index.php/CurlFtpFS
https://linuxconfig.org/mount-remote-ftp-directory-host-locally-into-linux-filesystem
http://help.ubuntu.ru/wiki/%D0%BC%D0%BE%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_ftp

 

2.Настройка бекапа удаленных сайтов по FTP через консольный ftp-клиент lftp

Создание полного бекапа удаленного сайта в локлаьном каталоге

Где
ftpuser1 – имя FTP-пользователя
ftppassword1 – пароль FTP-пользователя
sitename1 – имя сайта

Используемые опции при подключении устанавливаем с помощью оператора set

определяет выполнение указанной команды БЕЗ отключения от сервера после окончания выполнения команды (для принудительного отключения от сервера мы используем команду bye)

–не проверять сертификат сервера(подписан ли он известным центром сертификации и не отозван ли этот сертификат)

— сделать бекап содержимого каталога www(в этом каталоге расположен сам сайт на удаленном сервере) с удаленного сервера в локальный каталог /backup/mirrors/sitename1
Опция -e выполняет удаление файлов в локальном каталоге(каталоге назначения в данном случае),если они отсутствуют в удаленном каталоге(каталоге источника в данном случае)

Комментирование и размещение ссылок запрещено.

Комментарии закрыты.

Яндекс.Метрика