#lftp #korn
Вопрос:
Я пытаюсь перейти с kermit на lftp. Старый скрипт принимает команды из другого скрипта для размещения файлов в/из. Я все еще хочу взять этот входной файл, но у меня возникли проблемы с тем, чтобы заставить его считывать команды из входного файла.
старый скрипт utils с использованием kermit:
/appl/bin/kermit $M_SCRIPT_TMP_FILE | sed -e '/^$/d' -e 's/^/ /' >> ${LOGFILE:-/home/mcleary/k_test/michele/logs/default.log} 2>amp;1
Где файл kermit версии $M_SCRIPT_TMP_FILE содержит содержимое каждого сценария, выполняющего ftp (ЖК-строка вниз) :
ftp open MMMMSITE /USER:useruser /PASSWORD:pwpw
LOG TRANSACTIONS /app/tmp/m_Ftp_trans.tmp
lcd /home/mcleary/k_test/michele/
cd trans/
ascii
put test3.txt
exit
Сценарий lftp, использующий входной файл, выглядит следующим образом:
/usr/bin/lftp -f $M_SCRIPT_TMP_FILE | sed -e '/^$/d' -e 's/^/ /' >> ${LOGFILE:-/home/mcleary/k_test/michele/logs/default.log} 2>amp;1
Для версии lftp входной файл выглядит следующим образом:
open ftp://useruser:pwpw://MMMMSITE
LOG TRANSACTIONS /app/tmp/m_Ftp_trans.tmp
lcd /home/mcleary/k_test/michele/
pwd
cd trans/
ls
put test4.txt
bye
Вывод/сообщение об ошибке для lftp выглядит следующим образом:
open: ftp: Name or service not known
cd: Not connected
ls: Not connected
put: Not connected
Exit Status - m_Ftp2: 0
m_cmd from ckcmd: m_exit
m_log_only from ckcmd:
Есть идеи, почему lftp не распознает входную строку ftp?
ОБНОВЛЕНИЕ: Я знаю, что lftp работает из командной строки, как это, но мне нужно предоставить входной файл:
lftp -u useruser,pwpw ftp://MMMMCO <<EOF
> lcd /home/mcleary/k_test/michele/
> cd transfer
> put test.txt
> bye
> EOF
UPDATE2: Я попробовал новый скрипт utils с использованием lftp, как это:
open -u useruser,pwpw ftp://MMMMSITE
Это выходное сообщение:
cd: Login failed: 530 User cannot log in.
ls: Login failed: 530 User cannot log in.
put: Login failed: 530 User cannot log in.
Exit Status - m_Ftp2: 0
m_cmd from ckcmd: m_exit
m_log_only from ckcmd:
Ответ №1:
Я заставил его работать.
filename.txt:
open ftp://MMMMSITE -u useruser,'pwpw'
lcd /home/mcleary/k_test/michele/
pwd
cd trans/
ls
put test5.txt
bye
Затем, чтобы использовать этот файл:
lftp -f filename.txt