1.环境准备
Crontab
1 apt-get install cron #服务器环境下默认安装有
2.使用
1 crontab -e #进入编辑页面(第一次会让你选择编辑器)
1 crontab -l #查看当前的定时任务
2.1 编辑
分 | 小时 | 日 | 月 | 星期 | 命令 |
0-59 | 0-23 | 1-31 | 1-12 | 0-6 | command |
例子: 30 6 7 * * co 指定每月7号6:30 执行命令: co
*/15 * * * * co 每15执行一次命令 :co
0 */2 * * * co 每隔2小时执行一遍命令 :co
注:这里的星期 0代表星期天
每隔来2小时前的分不能为*,不然就是每分钟执行
3.脚本
执行python程序
1.先把python的执行命令写入xxxx.sh 脚本
2.给xxxx.sh添加可执行权限
chmod +x mycrawler.sh
3.把xxxx.sh写入crontab配置文件
3.1 例子
1 #!/bin/sh #shiyo #选择使用/bin/sh来执行下面内容 2 cd `dirname $0` ||exit 1 #cd到当前目录,失败则退出,dirname上的是反引号 3 python ./main.py >>run.log 2>&1 #把屏幕输出内容重定向到run.log ,同时把标准错误作为标准输出输出到run.log
crontab配置编写
1 0 6 * * * /home/*****/mycrawl.sh >>/home/***run.log 2>&1 #把屏幕输出内容重定向到run.log ,同时把标准错误作为标准输出输出到run.log
注意:脚本路径要用绝对路径!
查看
1 sudo cron -f &#启动服务 2 crontab -e #添加任务 3 crontab -l # 查看有哪些任务 4 crontab -r # 删除任务
这里的例子可以通过以下命令动态查看:
tail -f run.log
这里我猜不少小伙伴会再次出错:
Non-UTF-8 code starting with 'xe4'。。。
别急,这是肯定是你想在.py里print中文
python3默认使用UTF-8格式
开头一般不用加 # -*- coding:utf-8 -*-
但是有的中文中还是会出现无法识别的情况,抛出Non-UTF-8 code starting with 'xe4' 错误,这时候就需要在第一行加上这句。
1 # coding=utf-8