在工做中咱们常常会写一个python脚本,而后想经过定时任务去执行,这时咱们会想到crontab.python
经过 crontab -e去设置crontabweb
例如:0 0 * * * python /data/webapps/cmdb.import.api/routine_analysis_halog.pyapi
这时若是你的脚本中会有涉及读取配置文件或者读写文件的动做,通常你的定时任务都不会执行.bash
由于你的脚本在执行时,因为是经过crontab去执行的,他的执行目录会变成当前用户的家目录,若是是root,就会在/root/下执行.app
因此这样设置定时任务是不行的.webapp
咱们也能够经过在/etc/cron.d下新建一个文件去指定定时任务执行目录的方式去设置定时任务.ui
如:blog
[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的执行目录了.crontab