`

python脚本在crontab中执行的几个坑

阅读更多

PS:原创文章,如需转载,请注明出处,谢谢!     

本文地址:http://flyer0126.iteye.com/blog/2388142

 

    工作中遇到的小问题,随手记录一下。最近写了一个数据同步python任务脚本,手动执行正常,但配到crontab中无法运行,折腾半天终于搞好了,大笑

 

    一、绝对路径问题

    crontab中python命令使用绝对路径,如:

*/5 * * * * /usr/local/bin/python2.7 /home/work/user/main.py > /yyy.log 2>&1  

    程序中涉及文件路径,相对路径改为绝对路径,如:

file = 'conf'
改为:
file = '/home/work/user/conf'

     二、环境变量问题

    预安装python版本可能非实际使用版本,可使用绝对路径解决(如一)

    如果需要生效你的bash信息,可以在前面加上“source ~/.bashrc &&”,如:

*/5 * * * * source ~/.bashrc && /usr/local/bin/python2.7 /home/work/user/main.py > /yyy.log 2>&1 

    三、文件可执行权限 

    设置python文件的可执行权限,

chmod +x main.py

    四、crontab命令不可使用函数

    本来想实现日志的切分,使用$(date -d "today" +"%Y%m%d_%H%M%S").log 来实现,发现配置后不执行,改为固定文件即可解决。注:也是本次折腾耗时最长的问题点。

*/5 * * * * /usr/local/bin/python2.7 /home/work/user/main.py > /log/$(date -d "today" +"%Y%m%d_%H%M%S").log 2>&1
改为:
*/5 * * * * /usr/local/bin/python2.7 /home/work/user/main.py > /log/cron.log 2>&1

     

    大部分crontab任务不执行都可通过以上几点来逐步排查,如有疏漏,后续补充~

 

0
0
分享到:
评论

相关推荐

    ubuntu定时执行python脚本实例代码

    在Ubuntu系统中,定时执行Python脚本是一项常用的任务,这对于自动化运维、数据分析或者定期报告的生成等场景至关重要。本文将详细介绍如何使用`cron`服务来实现这一目标。 首先,`cron`是Linux系统中的一个定时...

    CentOS 7如何实现定时执行python脚本

    下面我们就详细介绍如何在CentOS 7上配置`cron`服务来定时执行Python脚本。 #### 一、crontab的安装与配置 ##### 1.1 安装crontab 在大多数CentOS 7系统中,`cron`服务通常已经默认安装。可以通过以下命令检查...

    执行clickhouse的sql文件的脚本,支持定时任务

    执行clickhouse的sql文件的脚本。 ~~~ 脚本执行命令如下: ~~~ sh backup-ch.sh ip port user password db chdir(clickhouse安装目录) sql_dir(sql文件路径) ~~~ 参数灵活配置。拥有7个参数。可满足多种场景。 ~~~ ...

    Python-2018编程日历壁纸MacOS

    在实际应用中,这样的脚本可能会包含以下几个核心部分: 1. **读取图片资源**:脚本会遍历指定的图片目录,加载所有2018年编程日历的壁纸图片。这可以通过os模块的listdir()函数实现,配合glob模块可以更方便地匹配...

    Google排名跟踪器:SEO:Python脚本+ Shell脚本和cronjob每天检查排名

    使用此python脚本,shell脚本和crontab,您可以通过几个简单的步骤自动执行Google排名检查器。 我将逐步解释如何实现此功能并使它每天运行。 需要注意的一件事是,当前该脚本不使用代理来检查关键字排名,因此,...

    Python-基于python35使用基于Linux的任务命令CNIC自动打卡程序

    为了使Cron能够执行Python脚本,确保系统环境变量PATH包含了Python解释器的路径,或者在命令行中明确指定Python解释器的路径,如`/usr/bin/python3.5 /path/to/python_script.py`。 此外,考虑错误处理和日志记录也...

    crontab-master

    `crontab` 可以配合各种脚本语言(如 Bash、Python、Perl 等)来执行复杂的任务。通过编写脚本,可以实现定时发送邮件、数据备份、监控、自动更新等功能。在 `crontab-master` 压缩包中,可能包含了各种示例脚本,供...

    定时循环监控脚本

    在crontab文件中,可以设置"a.bat"和"b.bat"的等效脚本(bash、sh等)的运行时间。每个任务会有一个特定的时间格式,例如每小时运行一次、每天特定时间运行等。 为了确保脚本的稳定性和可靠性,还需要考虑以下几点...

    定时任务执行器

    在IT行业中,定时任务执行器是一个非常重要的工具,它允许我们按照预定的时间间隔或特定时间点执行特定的任务。定时任务广泛应用于系统维护、数据备份、日志清理、自动化测试、邮件通知等多种场景。下面,我们将深入...

    手动执行后台计划任务testcronjob.zip

    Python脚本则为`python scriptname.py`。确保执行权限正确,可以使用`chmod +x`赋予执行权限。 4. **调试与优化**:如果脚本有误或结果不符合预期,进行调试和修改,直至任务执行成功。 三、计划任务自动化 1. **...

    126邮箱自动登录程序.zip

    在Python中实现自动登录,可能会涉及到以下几个知识点: 1. **requests库**:Python中常用的一个HTTP客户端库,用于发送HTTP请求,包括登录时的POST请求,用于提交用户名和密码。 2. **BeautifulSoup或lxml**:这...

    python爬取招聘数据保存到mysql数据库

    在本项目中,我们主要涉及了以下几个核心的IT知识点: 1. **Python网络爬虫**:Python作为一种功能强大的编程语言,被广泛用于网络爬虫的开发。它提供了丰富的库,如`requests`用于发送HTTP请求获取网页内容,`...

    公司内部OA上下班打卡助手

    例如,可以利用crontab命令在Linux系统中设置定时任务,确保在固定的上下班时间自动运行打卡脚本。 使用这个OA打卡助手,用户首先需要配置相关的参数,如OA系统的登录URL、用户名、密码等,这些信息可能存储在配置...

    Python + selenium + crontab实现每日定时自动打卡功能

    近几日迫于被辅导员三番五次的提醒每日一报打卡,就想着去写个脚本挂在服务器上定时执行。经过我不懈的努力,最终选择了seleniumseleniumselenium,因为简单( 安装selenium库 $ sudo pip install selenium 安装...

    基于python的明日方舟护肝助手.zip

    在这个项目中,我们可以推测它可能包含以下几个方面的技术知识点: 1. **网络请求与解析**:为了与明日方舟的游戏服务器交互,助手可能使用了Python的requests库来发送HTTP请求,获取游戏的数据。同时,它可能使用...

    python定时利用QQ邮件发送天气预报的实例

    大致介绍 好久没有写博客了,正好今天有...4、最后使用crontab定时执行python脚本 涉及的具体知识可以去看文档,本文主要就是解释代码的结构 和风天气API API没什么好说的,利用requests库去请求数据,然后提取出数据

    基于python实现的智慧场馆自动预约系统源码+部署操作说明.zip

    3. 配置 `[login]` 、`[type]` 、`[time]`、`[wechat_notice]` 这几个 Section 下的变量,在 `config0.ini.sample` 文件内有详细注释 定时运行 # Windows 本项目中的 `autoRun.bat` 文件可提供在静默免打扰...

    Python库 | feed2twitter-0.6.6-py2.5.egg

    在实际应用中,feed2twitter库可能会涉及到以下几个关键知识点: 1. **RSS和Atom理解**:开发者需要了解这两种数据格式的基本结构,如RSS的channel、item元素,Atom的feed、entry元素,以便正确解析和处理数据。 2...

    TCU-REC-BOOKING:必须具备python和croon的基础知识才能设置此脚本

    理解并操作这个脚本,你需要掌握以下几个关键知识点: 1. **Python编程基础**: - **语法**:Python是一种高级、解释型、交互式和面向对象的脚本语言。熟悉基本的语句结构,如if/else条件判断,for/while循环,...

    定时关机重启

    在解决方案文件中,我们可能看到以下几个部分: 1. 用户界面:设计一个友好的用户界面,让用户能方便地设置定时关机或重启的时间。 2. 时间管理和计时器:这部分代码负责处理时间计算和触发关机或重启事件。 3. 系统...

Global site tag (gtag.js) - Google Analytics