Cent OS 6.5 crontab 不执行 python脚本的解决方法

这只是我个人的情况,仅供参考:

python脚本名: checked_domain.py 是用来检测公司域名过期时间用的。

直接用 ./checked_domain.py 是可以执行成功的。

crontab:  #测试时是这样写的,

*/5 * * * * root  /scripts/checked_domain.py &>>/var/log/chedked.log

#后来又改成这样写:

*/5 * * * * root /usr/bin/python /scripts/checked_domain.py &>>/var/log/chedked.log

都不执行,在/var/log/cron  文件中有执行记录。但是,通过脚本自己的日志,可以看出脚本没有执行。

我的解决办法:

*/5 * * * * root cd  /scripts && ./checked_domain.py &>>/var/log/chedked.log

然后就成功了。

分析:应该是crontab 环境变量的问题。

如有不明白,看下source 命令。

时间: 2024-10-16 13:19:52

Cent OS 6.5 crontab 不执行 python脚本的解决方法的相关文章

mac上使用crontab周期性执行python脚本

这个月买了本书<Linux系统命令及Shell脚本实践指南>, 看到了一个周期性执行任务cron.顿时产生一个想法: mac上有这种机制么? 加上自己也在15年下半年也学了点python脚本,哈哈,顿时就产生了这个想法“mac上使用crontab周期性执行python脚本”,不得不说 网络是给力的,居然还真有,顿时感觉学海无涯哇. 1. crontab -e 来编辑自定义自己的任务 关于如何定义自己的任务,我们可以参考here 2. 对python脚本进行编辑: 3. 效果就是,如下: 恩,基

crontab常见错误(执行python脚本 no module)

在crontab定时执行python脚本,在shell下没有问题,在crontab中报no module,找不到安装的库. 1 crond服务未启动 crontab不是Linux内核的功能,而是依赖一个crond服务,这个服务可以启动当然也可以停止.如果停止了就无法执行任何定时任务了,解决的方法是打开它: crond 或 service crond start 如果提示crond命令不存在,可能被误删除了,CentOS下可以通过这个命令重新安装: yum -y install crontabs

inotify+rsync实现实时同步(附解决crontab中无法执行python脚本的问题)

1.准备环境 # 系统支持的话,下面的目录就会存在 ls /proc/sys/fs/inotify/ rpm -qa inotify-tools yum -y install inotify-tools 2.inotifywait监控目录状态变化 /usr/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e delete,create,close_write /data # 可以把时间去掉 /usr/bin/

Linux定时循环执行python脚本

本文主要介绍在linux环境下,定时循环执行python脚本的两种方法. 方法一: nohup vim time.py 1 import time 2 while(True): 3 #time.sleep(1) 4 with open('time.log', 'a+') as logfile: 5 logfile.write('Hello, World!\n') 6 time.sleep(1) 7 #break 在终端运行如下命令 nohup python time.py & 功能:实现了每秒将

实现crontab定时调用python脚本,以及command not found的问题

操作 1.修改 /etc/crontab文件 调用python脚本和其他sh的不同是:需要写清楚调用哪个python解释器 例如: * 12 * * * root /usr/bin/python /home/admin/test.py 需要用/usr/bin/python 全路径指定. 另外需要在此前写root 表示调用账户. 2.增加日志 使用/home/admin/test.py.log 2>&1 把错误流重定向到标准输出流 全部配置如下: * 12 * * * root /usr/bi

jenkins执行python脚本的方法,和python版本的兼容性问题

在jenkins上打算运行一段python脚本,查到一些常用的方法,下面会介绍.还遇到了版本兼容性问题导致的怎么都执行不成功,最终试了各种版本,定位到兼容性问题,真是各种坑. 一般有三种方法:1.安装执行python的插件: Python Plugin,安装后在配置那里就可以看到以下的选项,可以在Script部分直接写python代码 2. 用Execute Windows batch command执行python脚本 3. 用Execute shell执行python脚本,注意开始要写#!p

使用sae定时执行Python脚本

使用sae定时执行Python脚本 使用sae定时执行Python脚本 12,May,2014 | 57 Views 毕设压力略大,必须是桂林游的锅.去之前放松了几天,回来又休闲了几天,加上桂林的一周,半个月直接没了.中午忙里偷闲尝试了下sae,出了这么久才开始用,真是捉急. 今天的目标是要让自己的微博能够整点报时.功能其实很简单,发微博的api新浪全都提供了.你甚至可以直接写段脚本,开着电脑让它一直跑,但这样太low了,尽管用sae服务的原理也是一样.使用sae定时执行Python脚本,布布扣

C#脱离IronPython中执行python脚本

给客户安装程序时除了安装.net framework还要安装IronPython,是不是觉得很麻烦? 上面这一切都弱爆了,下面我来介绍一种不安装IronPython只需要引入几个IronPython的dll就可以在c#中执行python脚本的方法. 1:引入IronPython中的几个dll 2:进入IronPython的Lib文件夹,把Lib中的内容打包成zip,名字任意既可.打包好后放到c#项目下 我把它放到了和py文件同一个目录中 3:很关键的一步,程序初始化时执行下段代码 ScriptE

shell脚本中执行python脚本并接收其返回值的例子

1.在shell脚本执行python脚本时,需要通过python脚本的返回值来判断后面程序要执行的命令 例:有两个py程序  hello.py 复制代码代码如下: def main():    print "Hello" if __name__=='__main__':    main()world.py def main():    print "Hello" if __name__=='__main__':    main() shell 脚本 test.sh