Доброе время суток коллеги,Собсно имеется скрипт /root/ftp.sh
-----------------------------------------------------------------------------------
#!/usr/local/bin/bash
$user=user
$password=password
$ftpserver=ftpserver.ruloglocalfile="/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 - тот же результат что и выше.. пустой файл
Попробуйте так:echo "send $loglocalfile $logremotefile" | ftp ftp://$user:$password@$ftpserver/ >> /tmp/results.txt 2>&1
>Попробуйте так:
>
>echo "send $loglocalfile $logremotefile" | ftp ftp://$user:$password@$ftpserver/ >> /tmp/results.txt 2>&1Тот же результат - пустой файл results.txt
>>Попробуйте так:
>>
>>echo "send $loglocalfile $logremotefile" | ftp ftp://$user:$password@$ftpserver/ >> /tmp/results.txt 2>&1
>
>Тот же результат - пустой файл results.txtвообще связка ">> /file 2>&1" должна работать
попробуй ее использовать В КАЖДОМ ЗВЕНЕ конвеера, при твоем раскладе будет выплевываться в файл только вывод последенй команды вроде
>вообще связка ">> /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
>[оверквотинг удален]
>
>по моим представления связка должна была работать, но результат остается .. -
>в файл ничего не пишется...
>а смысл мне добавлять вывод в файл первого звена конвеера ... по
>сути он у меня результат 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") - стандартными средствами шелл перенаправить не получится.