linux crontab执行python脚本问题


在工作中我们经常会写一个python脚本,然后想通过定时任务去执行,这时我们会想到crontab.

通过 crontab -e去设置crontab

例如:0     0       *       *       *     python /data/webapps/cmdb.import.api/routine_analysis_halog.py

 

这时如果你的脚本中会有涉及读取配置文件或者读写文件的动作,一般你的定时任务都不会执行.

因为你的脚本在执行时,由于是通过crontab去执行的,他的执行目录会变成当前用户的家目录,如果是root,就会在/root/下执行.

所以这样设置定时任务是不行的.

 

我们也可以通过在/etc/cron.d下新建一个文件去指定定时任务执行目录的方式去设置定时任务.

如:

[root@zb_10-0-3-72_lin_opsipaddressmanager cron.d]# cat /etc/cron.d/sync_jira 
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/data/webapps/ops.manage.ui
0 5 * * * root python manage.py sync_jira_info 

这样就可以指定crontab的执行目录了.

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM