【问题标题】:FTPing inside of a KSH script from AIX to Windows to GET a file从 AIX 到 Windows 的 KSH 脚本内部 FTP 以获取文件
【发布时间】:2019-03-02 16:28:06
【问题描述】:
#!/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,打开lawsonfax,获取 retriesexceed.csv,拉取文件没有问题。

【问题讨论】:

    标签: windows get ftp ksh aix


    【解决方案1】:

    尝试使用 shell 重定向:

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

    【讨论】:

    • #!/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 MAIL="test@test.org" HOST=lawsonfax # Ftp 文件 # Ftp 用户名和密码在 .netrc $FTP -v "$HOST"
    • 它现在工作得很好,但是发送电子邮件的 mpack 命令不起作用。
    • 您不能将代码粘贴到评论中。请打开一个新问题。另请阅读:stackoverflow.com/help/mcve
    猜你喜欢
    • 2019-03-06
    • 2014-08-07
    • 1970-01-01
    • 2013-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多