如何使用需要运行脚本文件的plink命令运行批处理文件

时间:2019-01-26 16:33:09

标签: batch-file taskscheduler plink

我正在尝试创建一个.bat文件,该文件将创建一个日志文件,其中包含远程unix服务器中的文件列表。当我通过命令提示符手动运行它时,它运行良好。但是,如果我通过“任务计划程序”运行它,它将无法正常工作。

log_maker.bat文件中包含以下代码行:

PATH=%PATH%;C:\Program Files
(plink.exe -ssh username@IP -pw password -m shell_script_to_list_files.sh)>log_file.txt

其他信息:

C:\Program Files包含plink.exe

D:\path1包含log_maker.bat文件和shell_script_to_list_files.sh文件。

1 个答案:

答案 0 :(得分:0)

  1. 要查看Plink产生的任何错误消息,请同时重定向错误输出:

    (plink.exe -ssh username@IP -pw password -m shell_script_to_list_files.sh) > log_file.txt 2>&1
    
  2. 尽管您最有可能遇到主机密钥问题。与服务器的第一次SSH连接需要主机密钥验证。如果您正在使用服务帐户运行Scheduler任务,则它不知道服务器的主机密钥(您之前可能已在交互式帐户中验证了该主机密钥,这就是为什么在交互式帐户下手动运行脚本时会运行脚本的原因)。您应该使用-hostkey switch在脚本中添加服务器主机密钥的指纹:

    plink.exe -ssh username@IP -pw password -hostkey aa:bb:cc... ...
    

另请参阅@Mofi对
的回答 What must be taken into account on executing a batch file as scheduled task?