【问题标题】:How to modify crontab to run python script?如何修改 crontab 来运行 python 脚本?
【发布时间】:2023-03-10 16:12:01
【问题描述】:

我使用的是redhat linux平台 我想知道为什么当我在 crontab 中使用 python 脚本每 2 分钟运行一次时,即使我使用 tail /etc/sys/cron 它显示它调用了脚本,试图添加python的路径,[我使用的是python2.6 - 所以路径是/usr/bin/python2.6]

crontab -e [试过用户和root相同的问题]

*/2 * * * * /usr/bin/python2.6 FULLPATH/myscript.py

【问题讨论】:

  • myscript.py 有什么相关导入?这可能会导致脚本失败。
  • 确实导入以连接到 oracle 数据库 import cx_Oracle 但情况并非如此,它甚至不执行我试图让脚本在被调用时在文件上打印一些东西,没有发生任何事情, @AnandSKumar
  • 脚本是否以#/usr/bin/python2.6 开头?脚本是否设置了执行权限?
  • 是的,我尝试在开头添加#!/usr/bin/python2.6 @mpez0,我正在另一台机器上测试简单的脚本,只是一个脚本来附加一个文件上的行没有与数据库相关的导入或函数,它似乎正在工作

标签: python linux crontab redhat


【解决方案1】:

谢谢大家,但我做了一点研究,我找到了一个解决方案,首先你必须测试 sudo python 看看它是否适用于模块,如果不是你必须为你放的 sudo 做别名在 /etc/bashrc [ 使其成为系统范围的别名 ] ,别名 sudo='sudo env PATH=$PATH LD_LIBRARY_PATH=$LD_LIBRARY_PATH ORACLE_HOME=$ORACLE_HOME TNS_ADMIN=$TNS_ADMIN' 然后您必须更改 crontab 以调用脚本以将这些值分配给变量,使用 source /the script && /usr/bin/python script.py

【讨论】:

    猜你喜欢
    • 2015-10-05
    • 2017-12-16
    • 2022-01-05
    • 2017-11-20
    • 1970-01-01
    • 2016-03-06
    • 2011-03-21
    • 2015-09-10
    相关资源
    最近更新 更多