【发布时间】:2013-12-10 08:30:58
【问题描述】:
不确定是否有人遇到过这种情况,但我会接受有关故障排除和/或替代方法的建议。
我有一台 Windows 2008 服务器,我正在其上运行多个计划任务。其中一项任务是使用 pscp 登录 linux 机器的 python 脚本,检查新文件,如果有任何新文件,将它们复制到 C: 驱动器上的本地目录。我也在关键点将一些日志记录到脚本中,我正在使用logging.basicConfig(level=DEBUG)。
我使用变量command = 'pscp -pw xxxx name@ip:/ c:\local_dir' 构建命令,然后使用subprocess.call(command) 执行命令。
现在这是奇怪的部分。如果我从命令行手动运行脚本,它工作正常。新文件被下载和处理。但是,如果任务计划程序运行脚本,则不会下载新文件。该脚本在同一用户下运行,但产生不同的结果。
根据脚本在linux box上创建的日志文件,脚本成功登录linux box。但是,尽管有新文件,但不会下载任何文件。同样,当我通过命令行运行它时,会下载文件。
有什么想法吗?建议,替代方法?
谢谢。
【问题讨论】:
-
感谢您的回答。事实证明你们俩都是对的。任务计划程序在两个方面很奇怪:第一;它不喜欢映射驱动器。它适用于 UNC 引用。第二;它喜欢所有内容的完整路径参考。文件、命令、脚本中的语法,一切。事实上,使用这两种技术是我解决问题的方法。现在我唯一的问题是决定哪个答案点击正确,因为两者都有效。
标签: python scheduled-tasks scp