Ftp

ftpd

Входящий в состав FreeBSD ftp-клиент. Отличие от Linux_вой версии, что там все команды нафигациипо файловой системе (cd, ls, pwd) выполняются удаленно (что удобнее).

Подключение: ftp ftp://leksey:34dE3daff@files.orgius.ru/

Скачивание
get filename.zip

Закачка вручную
put DSCN8727.AVI

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

Стрелка вверх прокрутка предыдущих команд CTRL+U очистка строки

Локальные команды - начинаются с l lpwd - Просмотр файлов на локальном диске lcd /reaa.ru

ls re2a-07022012.tar -rw-r--r--  1 u34085   u34085   16614871552 Feb  7 10:36 re2a-07022012.tar 16614871552 тут это размер

Автоматическая закачка
ftp -in myftpserver.lan<<_EOF_ user login password binary passive put /path/to/backup/localefile.tar.gz destinationfile.tar.gz quit _EOF_

Вопросы
Как работать если только логин имеет вид user@host.ru?

ftp ftp://"caskad@caskad.ru":password@caskad.ru ftp: Unknown port `password@caskad.ru' in URL `ftp://caskad@caskad.ru:password@caskad.ru' ftp: Invalid URL `ftp://caskad@caskad.ru:password@caskad.ru'

Другие клиенты
ftp/lftp                 Shell-like command line ftp client ftp/ncftp1               FTP replacement with advanced user interface ftp/ncftp2               FTP replacement with advanced user interface ftp/ncftp3               ftp replacement with advanced user interface

 D=`date '+%d.%m.%Y.%H-%M'`; n="myserver" name="backup_${n}_${D}" path="/root/backup" sb="backup.lan" l="mylogin" p="mypassword" tar czvf $path/tmp/$name.tar.gz /etc/* /usr/local/etc/* /var/cron/* /boot/loader.conf /usr/local/www/* /var/named/* /var/db/mysql/* /usr/local/bin/lftp -u $l,"$p" -e "mkdir $D; mput -O /$D/ $path/tmp/$name.tar.gz;exit" $sb rm $path/tmp/$name.tar.gz echo "BACKUP SERVER <<$n>>|date - $D | to server_backup - $sb" | mail -s "backup $n" admins@my.lan exit 
 * 1) !/bin/sh
 * 2) текущая дата
 * 1) название сервера
 * 1) название архива
 * 1) путь к нашему скрипту
 * 1) адрес ftp-сервера(server backup)куда будем заливать архив
 * 1) ftp-логин
 * 1) ftp-пароль
 * 1) пакуем
 * 1) копируем
 * 1) удаляем созданый архив на локальной машине
 * 1) отсылаем отчет на email

Копирование в автоматическом режиме на FTP. ncftpput -f mikftp.cfg ./mysql /var/backups/mysql/*

Что запустит рекурсивный ncftpput на каталог /var/backups/mysql и скопирует его на удаленный FTP в ./mysql

Вешаем все это хозяйство на cron, который будет каждый день в 3 часа ночи производить бекапы.

crontab: 0 3 * * * ncftpput -f mikftp.cfg ./mysql /var/backups/mysql/*

Linux
Не умеет нормального указания в имени файла vi .netrc machine ftp.pilottv.ru login pilottvjet4 password mediaserver2 chmod 600 .netrc

ftp ftp.pilottv.ru

mput каждый раз надо говорить Y