python - 通过执行 pscp 的 Windows 任务计划程序运行 python 脚本时出现问题

标签 python scheduled-tasks scp

不确定是否有人遇到过这个问题,但我会采纳有关故障排除和/或替代方法的建议。

我有一台 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。但是,尽管有新文件,但没有下载任何文件。同样,当我通过命令行运行它时,会下载文件。

有什么想法吗?建议,替代方法?

谢谢。

最佳答案

您可以使用 windows 任务计划程序,但请确保填写“可选”字段“开始于”。

在 Task Scheduler 应用程序中,添加一个指定要运行“doSomeWork”的 python 文件的操作,并使用包含该文件的目录填写开始于(可选)输入。例如,如果您有一个 python 文件在:

C:\pythonProject\doSomeWork.py

你会输入:

Program/Script: doSomeWork.py

Start in (optional): C:\pythonProject 

关于python - 通过执行 pscp 的 Windows 任务计划程序运行 python 脚本时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20196049/

相关文章:

python - 从 Python 模块中的 nosetests 获取测试结果

python - 使用 python/django 安装 lxml 时出现问题

linux - 从 "at"作业的非交互式队列中获取作业编号

php - 使用 PHP/MySQL 显示一些统计信息的最有效方法

shell - 使用打包程序将文件从主机复制到生成的图像而无需密码

linux - 隐藏/编译 ssh key ,因此它不能在公共(public)脚本之外使用

python - 如何使用 Gekko 优化电动汽车充电成本?

iphone - 在 Google App Engine Python API 中获取原始发布数据

python - Heroku Scheduler vs Heroku Temporize Scheduler,有什么区别?

java - 有没有办法从 build.xml 中指定本地 jsch.jar 的位置?