Бэкап Сайта по FTP с помощью Wget

Резервное копирование Веб-Сайта, это важный шаг для каждого пользователя.

В этой статье описано как рекурсивно скачать сайт, вместе со всеми файлами, каталогами и подкаталогами с FTP сервера, с помощью утилиты Wget, а затем сделать его резервную копию.

Прежде всего необходимо создать папку в которую мы зальем сайт. Например создадим папку backups в домашней директории.

# mkdir ~/backups
# cd ~/backups

Скачать Весь Сайт по FTP

Следующая команда рекурсивно скачивает Ваш сайт, вместе со всеми файлами и папками, с FTP сервера и сохраняет их в текущей директории.

# wget -r -l 0 -nH ftp://user:pass@ftp.server.com
Опция Описание
user Имя FTP пользователя
pass Пароль для FTP
ftp.server.com IP адрес или доменное имя FTP сервера
-r, —recursive Рекурсивное извлечение
-l, —level Максимальная глубина рекурсии (0 = неограниченная)
-nH, —no-host-directories Не создавать папку с название FTP сервера

Ваш сайт скачен:

# ls -l
drwxr-xr-x 4 user group 4096 2013-05-09 18:20 yoursite.com

Резервное Копирование Сайта

Теперь создадим архив папки с сайтом:

# tar -czf site-backup-$(date +%Y%m%d-%H%M%S).tar.gz yoursite.com

Предыдущая команда создает архив с название, основанным на текущем времени. Что-то вроде site-backup-20130509-190638.tar.gz.

Для извлечения архива выполните:

# tar -zxvf site-backup-20130509-190638.tar.gz

Скачать Определенную Папку с FTP

Допустим, в нашей домашней папке на FTP сервере имеется следующая структура каталогов:

/yoursite.com/www/images

Приведенная ниже команда рекурсивно скачает папку ‘images’ со всем ее содержимым с FTP сервера и сохранит ее в текущей директории.

# wget -r -l 0 -nH -np --cut-dirs=2 ftp://user:pass@ftp.server.com/yoursite.com/www/images
Опции Описание
-np, —no-parent Не подниматься в родительские каталоги
—cut-dirs Игнорировать ‘определенное число’ родительских директорий

Все эти задачи должны быть автоматизированны и добавлены в Cron. Инструкция скоро появится …