我正在尝试创建一个.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
文件。
答案 0 :(得分:0)
要查看Plink产生的任何错误消息,请同时重定向错误输出:
(plink.exe -ssh username@IP -pw password -m shell_script_to_list_files.sh) > log_file.txt 2>&1
尽管您最有可能遇到主机密钥问题。与服务器的第一次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?