FTP внутри скрипта KSH из AIX в Windows, чтобы получить файл - PullRequest
0 голосов
/ 26 сентября 2018
#!/bin/ksh
 . $HOME/bin/init.ksh
# log_start
 exit_if_not_dgftp

# EXPIRE_DAYS=30

# create_arc_dir
# handle_error abort $? "Command create_arc_dir failed" $USER

# purge_archive $EXPIRE_DAYS

WORK_FILE=RetriesExceeded.csv
USER=LawsonIT-FinMM@test.org
HOST=lawsonfax.test.org

# Ftp the file
# Ftp username and password is in .netrc

$FTP -v $HOST
lcd $WORK_FILE
get RetriesExceeded.csv
quit

# archive_file $WORK_FILE

# /law/bin/mpack -s "Fax Retries Exceeded" $WORK_FILE_OUTPUT $USER

# log_stop
exit 0


[dgftp@lawapp2]/lawif/bin$ get_lawson_fax.ksh
Connected to lawsonfax
220 Microsoft FTP Service
331 Password required for dgftp.
230 User logged in.
ftp> quit
221 Goodbye.
/lawif/bin/get_lawson_fax.ksh[33]: lcd:  not found
/lawif/bin/get_lawson_fax.ksh[34]: get:  not found
/lawif/bin/get_lawson_fax.ksh[35]: quit:  not found
[dgftp@lawapp2]/lawif/bin$

Объяснение: Сценарий нормально подключается к факс-серверу Lawson, но останавливается при запросе FTP.Я могу набрать 'Get' в интерактивном режиме, и он работает, но в скрипте KSH он просто останавливается в командной строке ftp, а затем, когда я завершаю работу, выдает три не найденных ошибки.Если я нахожусь на сервере AIX и вручную подключаюсь по FTP, открою lawonfax и получу retriesexceed.csv, нет проблем с вытягиванием файла.

1 Ответ

0 голосов
/ 28 сентября 2018

Попробуйте использовать перенаправление оболочки:

ftp -v "$HOST" <<DONE
lcd $WORK_FILE
get RetriesExceeded.csv
quit
DONE
...