zoukankan      html  css  js  c++  java
  • 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

          

        

  • 相关阅读:
    你看,那个人好像一条狗哎
    我竟然被抓去做了比特币挖矿工
    聊聊JAVA中 String类为什么不可变
    三分钟深入TT猫之故障转移
    shell实现两个数的相加
    shell截取字符串的方法
    Vi命令:如何删除全部内容?
    bash中不可以用字符串做数组下标
    awk打印出当前行的上一行
    awk同时处理多个文件
  • 原文地址:https://www.cnblogs.com/cheflone/p/13877165.html
Copyright © 2011-2022 走看看