Strava

Crontab爬虫定时执行

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

 

      

 

    

 

posted @ 2020-10-26 10:27  cheflone  阅读(276)  评论(0编辑  收藏  举报