Linux(Ubuntu)上的定制定时任务Crontab

1.Python模块导入的搜索路径在linux环境下应该全力去避免在路径中出现中文字符, 这可能会导致无法搜索到模块.
2.为Python添加模块加载路径的方法:

方法1:函数添加

import sys
sys.path
>>>
sys.path.append("/home/ww/int")	

方法2:修改环境变量
例如: EXPORT PYTHONPATH=/home/ww/int:$PYTHONPATH
方法3:增加.pth文件(推荐)
cd /usr/local/lib/python2.7/dist-packages
在该目录下新建一个文件 vim mypath.pth
输入路径内容: /home/ww/int

3.crontab
 linux上的周期性任务通常都是由cron这个守护进程来完成的, cron启动的时候, 它会读取配置文件, 并把信息保存在内存中, 没过一分钟, cron会重新检查配置文件, 并执行这一分钟内安排的任务.
 基础的用户配置文件:
 crontab filename // 将文件安装为用户的crontab文件, 并替换原来的版本
 crontab -e // 滴啊用编辑器打开用的crontab文件, 在用户完成编辑后保存该定时任务
 crontab -l // 列出用户crontab文件中的内容
 crontab -r // 删除用户自己的crontab文件

如何创建一个合格的配置文件?
格式: 分钟 小时 日期 月份 星期几
* * * * * python m.py 每一分钟执行一次
*/2 * * * * python m.py 每两分钟执行一次
0 */2 * * * python m.py 每一个小时执行一次
以此类推
4.查看定时任务执行情况

有的linux系统默认crontab是没有开始cron.log的, 需要去开启.

  1. 修改rsyslog文件, 将/etc/rsyslog.d/50-default.config文件中的 # cron.*注释给删除掉
  2. 重启rsyslog服务 : service rsyslog restart
  3. 重启cron服务 service cron restart
    如果在cron.log中出现: No MTA installed, discarding output, 那么说明你的这个定时任务出现了错误的信息或者打印的字符串.
    这个时候就需要安装一个mail服务来接收这个信息,
    sudo apt install mailutils
    如果不想接收该条信息, 当做临时测试的文件去处理的, 可以在每条定时的脚本任务后面加入: >/dev/null 2>&1 , 即可解决cron.log中的No MTA信息的问题
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值