Скрипт скачивания файлов с удаленного FTP сервера

Часто требуется автоматизировать процессы скачивания, загрузки и удаления файлов c FTP-сервера. Например, для сохранения резервных копий.

Пример скрипта для скачивания файлов с удаленного FTP сервера.

#!/bin/bash
HOST=1.1.1.1
USER=root
PASSWORD=12345678

ftp -inv $HOST <<EOF
user $USER $PASSWORD
tick
cd backup
lcd /media/sda1/backup/sites/mailns
mget *.tgz
bye
EOF

find /media/sda1/backup/sites/mailns/ -mtime +30 -type f -exec rm -rf {} \;

HOST=1.1.1.1 — адрес удаленного сервера;
USER=root — имя пользователя;
PASSWORD=12345678 — пароль;
ftp -inv $HOST <<EOF — соединение;
user $USER $PASSWORD — аунтефикация;
tick — отображать счетчик байтов;
cd backup — переход в нужную директорию;
lcd /media/sda1/backup/sites/mailns — изменить текущую директорию на локальной машине;
mget *.tgz — скачивание файлов;
bye — завершить сеанс и выйти;
EOF — конец файла;
find /media/sda1/backup/sites/mailns/ -mtime +30 -type f -exec rm -rf {} \; — найти все файлы свыше 30 дней и удалить их;

Ссылки

Основные FTP команды в Linux

Как найти и удалить файлы старше конкретной даты в Linux