Здравствуйте. Есть 2 комьпютера, нужно с 1го компьютера периодически забирать файлы с папки
/OUTDIR и перемещать их на 2ой компьютер при помощи sftp в папку /INDIR
(можно копировать файл, а затем удалять его - чтобы не копировать его снова).
Помогите пожалуйста написать скрипт
BASH SFTP скрипт
Модераторы: /dev/random, Модераторы разделов
-
- Сообщения: 331
- ОС: :OC
Re: BASH SFTP скрипт
man sshfs (fusessh)
man cp
man rm
man cron
man crontab
должно хватить
man cp
man rm
man cron
man crontab
должно хватить
-
- Сообщения: 2223
- Статус: Не очень злой админ :-)
- ОС: SuSE, CentOS, FreeBSD, Windows
Re: BASH SFTP скрипт
Еще почитайте man sftp на предмет опции -b. Так сказать, для полноты ощущений. :)
-
- Сообщения: 21
Re: BASH SFTP скрипт
Код: Выделить всё
#!/bin/bash
OUTDIR="/outdir"
TARGET_HOST=localhost
TARGET_USER=root
TARGET_DIR="/indir"
DATE_LOG=`date +%R-%d-%m-%Y`
FTPLOG="/log/$DATE_LOG.log"
SLEEP_INTERVAL=60
while [ 1 ]; do
sftp -b /dev/fd/0 $TARGET_USER@$TARGET_HOST>>$FTPLOG 2>&1<<EOT
lcd $OUTDIR
mput *.zip
chmod 666 *.zip
exit
EOT
sleep $SLEEP_INTERVAL
done
Все забирает с папки /OUTDIR и копирует в /INDIR, проблема в том, чтобы удалять из папки /OUTDIR скопированные файлы во избежание последующей перезаписи.
Читал и курил... да вот толку... Можно было бы реализовать копирование каждого файла в цикле... Ну и его удаление естественно, после копирования... Да вот только для каждого файла открывать отдельную сессию sftp. Хотелось бы открыть одну сессию для всех файлов в папке /OUTDIR, скопировать их в /INDIR на удаленном хосте, и удалить с локального хоста.
-
- Сообщения: 2223
- Статус: Не очень злой админ :-)
- ОС: SuSE, CentOS, FreeBSD, Windows
Re: BASH SFTP скрипт
Тогда можете попробовать scp.
-
- Сообщения: 21
-
- Сообщения: 21
Re: BASH SFTP скрипт
Здравствуйте. Появился такой вопрос. Предположим, что в данный момент нет соединения ssh, или связь разорвана.
Существуют ли коды выхода, или коды ошибок, неудачного завершения работы sftp?
Существуют ли коды выхода, или коды ошибок, неудачного завершения работы sftp?