Сегодня обратились ко мне с просьбой реализовать в FreeBSD возможность передать на ftp-сервер данные в пакетном режиме. Причём, предварительно нужно создать папку, содержащую текущую дату. Кроме того, сервер требует авторизации и слушает на нестандартном порту. Вот что вышло ("ftp.sh"):
#!/bin/bash
src=$1
dst=$(date +%Y%m%d)
ftp -n ftp.server 2211 << EOF
user ftpuser hispassword
binary
prompt
mkdir ${dst}
cd ${dst}
lcd ${src}
mput *
EOF
Запуск скрипта:
ftp.sh /home/ftpuser/toftp
В результате скрипт подключится к серверу, создаст там необходимый каталог и скопирует в него содержимое "/home/ftpuser/toftp/"
Вот, такой вот "наколенник" получился.