URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 8442
[ Назад ]

Исходное сообщение
"вывод FTP-сеанса в файл"

Отправлено Ivan , 21-Сен-09 16:06 
Доброе время суток коллеги,

Собсно имеется скрипт /root/ftp.sh
-----------------------------------------------------------------------------------
#!/usr/local/bin/bash
$user=user
$password=password
$ftpserver=ftpserver.ru

loglocalfile="/root/test.txt"
logremotefile="/root/test.txt"
echo "send $loglocalfile $logremotefile" | ftp ftp://$user:$password@$ftpserver/
-----------------------------------------------------------------------------------
Сеанс связи и передачи файла на ФТП проходит корректно и в консоль он, собственно, выдает результат... Мне же захотелось засунуть этот результат в файл
банальны вывод в файл :
вариант 1
echo "send $loglocalfile $logremotefile" | ftp ftp://$user:$password@$ftpserver/ >> /tmp/results.txt - не работает ... т.е файл создается, но пустой....
вариант 2
# /root/ftp.sh >> /results.txt - тот же результат что и выше.. пустой файл


Содержание

Сообщения в этом обсуждении
"вывод FTP-сеанса в файл"
Отправлено Slavaz , 21-Сен-09 16:09 
Попробуйте так:

echo "send $loglocalfile $logremotefile" | ftp ftp://$user:$password@$ftpserver/ >> /tmp/results.txt 2>&1


"вывод FTP-сеанса в файл"
Отправлено Ivan , 21-Сен-09 16:33 
>Попробуйте так:
>
>echo "send $loglocalfile $logremotefile" | ftp ftp://$user:$password@$ftpserver/ >> /tmp/results.txt 2>&1

Тот же результат  - пустой файл results.txt


"вывод FTP-сеанса в файл"
Отправлено Pahanivo , 21-Сен-09 18:50 
>>Попробуйте так:
>>
>>echo "send $loglocalfile $logremotefile" | ftp ftp://$user:$password@$ftpserver/ >> /tmp/results.txt 2>&1
>
>Тот же результат  - пустой файл results.txt

вообще связка ">> /file 2>&1" должна работать
попробуй ее использовать В КАЖДОМ ЗВЕНЕ конвеера, при твоем раскладе будет выплевываться в файл только вывод последенй команды вроде


"вывод FTP-сеанса в файл"
Отправлено Ivan , 22-Сен-09 09:14 
>вообще связка ">> /file 2>&1" должна работать
>попробуй ее использовать В КАЖДОМ ЗВЕНЕ конвеера, при твоем раскладе будет выплевываться
>в файл только вывод последенй команды вроде

по моим представления связка должна была работать, но результат остается .. - в файл ничего не пишется...
а смысл мне добавлять вывод в файл первого звена конвеера ... по сути он у меня результат echo туда записывает....
сделал как советовали
echo "send $loglocalfile $logremotefile" >> /tmp/results.txt 2>&1 | ftp ftp://$user:$password@$ftpserver/ >> /tmp/results.txt 2>&1

в результате  в файле results.txt у меня
send /root/test.txt /root/test.txt



"вывод FTP-сеанса в файл"
Отправлено Вова , 01-Окт-09 17:44 
>[оверквотинг удален]
>
>по моим представления связка должна была работать, но результат остается .. -
>в файл ничего не пишется...
>а смысл мне добавлять вывод в файл первого звена конвеера ... по
>сути он у меня результат echo туда записывает....
>сделал как советовали
>echo "send $loglocalfile $logremotefile" >> /tmp/results.txt 2>&1 | ftp ftp://$user:$password@$ftpserver/ >> /tmp/results.txt 2>&1
>
>в результате  в файле results.txt у меня
>send /root/test.txt /root/test.txt

выполни strace -oo ftp; grep open.*pts o
если увидишь что-то типа open("/dev/pts/1") -  стандартными средствами шелл перенаправить не получится.