Я новичок в LFTP и пытаюсь автоматизировать доставку файлов с помощью кода Perl, используя LFTP. Я могу установить прокси-сервер и подключиться к удаленному хосту, а также могу успешно передать файл на удаленный хост с помощью кода Perl. Но я не могу получить ответ от передачи lftp, который может сообщить моему заданию perl, что передача успешно завершена, из-за этого мое задание perl не работает, учитывая, что с передачей есть некоторая проблема. Я также пробовал подробный вариант, но он также не отображает никакого ответа при передаче файла с помощью lftp.
open(FTP,"lftp -vvv <command_file |")
command_file содержит следующие строки кода:
set ftp:proxy http://proxy_server:port
open ftp://remote_server_name
user user_name password
cd /remote_server_dir
put /local_server_file_name -o remote_server_file_name
Теперь, после вызова этого кода «FTP», файл успешно передается на удаленный хост, но для проверки его успешности я использую следующий код:
while(<FTP>)
{
print $_;
if ((/transferred/))
{
# successful
}
else
{
# not successful
}
}
LFTP при выполнении вручную дает ответ типа 300 bytes transferred
. И поэтому я пытаюсь использовать ключевое слово transferred
как признак успешной передачи. Но похоже, что при запуске этого LFTP через perl я вообще не получаю никакого ответа.
Пожалуйста, дайте мне знать, как получить ответ от удаленного сервера после успешной передачи файла через автоматическое задание. Спасибо!
<command_file
работать. Только-f command_file
работает. - person Stefan Becker   schedule 04.02.2019