вторник, 26 апреля 2011 г.

Резервное копирование с FTP сервера

Для резервного копирования файлов существует огромное количество разнообразного программного обеспечения (можно просто копировать вручную, можно использовать rsh или что-то вроде Bacula).
Но случайно в поиске по теме резервного копирования наткнулся на Lftp (статья в википедии).
Эта программа по сути является FTP-клиентом с богатым функционалом (зеркалирование файлов и каталогов, остановка и продолжение работы и т.д.). Но самое главное – это возможность автоматизации процесса работы с помощью сценариев (скриптов).
В качестве примера приведу скрипт, который копирует на ваш компьютер содержимое удаленного каталога на FTP-сервере.

#указываем файл для отладочных сообщений (debug5.txt) и уровень детализации отладки (3)
debug -o debug5.txt 3
#Подключаемся к серверу ftp.server.ru
open ftp.server.ru
#Передаем серверу логин (MyLoginName) и пароль (MyPassword)
user MyLoginName MyPassword
#Зеркалируем содержимое удаленного каталога (/MyRemoteFolder) в локальный (~/MyLocalFolder)
mirror /MyRemoteFolder ~/MyLocalFolder
#Отключаемся от сервера и завершаем работу
exit

Данный сценарий можно добавить в службу cron для автоматического зеркалирования содержимого удаленного каталога.