这里我使用的linux操作系统是ubuntu,所以首先在ubuntu中安装crontab
1.再Ubuntu中安装crontab
(1)sudo apt-get cron(服务器环境下默认安装的有)
(2)使用crontab -e进入编辑页面(第一次会让你选择编辑器)
①crontab -l 查看当时的定时任务
2.编辑
时间 分 小时 日 月 星期 命令
范围 0-59 0-23 1-31 1-12 0-6 command
3.例子:
30 7 8 * * ls # 指定每月8号的7点30分执行ls命令
*/15 * * * * ls # 没15分钟执行一次ls命令(即每个小时的第0 15 30 45 60 分钟执行ls命令)
0*/12 * * * ls #每隔俩个小时执行一次ls
注意点:
- 1.星期中的0代表星期日
- 2.每隔两个小时的时候前面的不能为*,为*代表每分钟都会执行
技术实现
执行python程序:
1.先把python的执行命令写入.sh脚本
2.给.sh脚本添加可执行权限 --> chomd +x myspider.sh
3.把.sh程序写入到crontab配置文件中
一个myspider.sh的例子
-
#!/bin/sh --> 使用/bin/sh来执行下面的内容
cd ‘dirname $0’(反单引号) || exit 1 --> cd 到当前目录,失败则退出,dirname上面不是引号 -
python ./main.py >> run.log 2> &1 # 把屏幕输出的内容重定向到run.log, 同时把标准错误作为标准一起输出到run.log中
crontab 每6个小时执行一次程序
- 0 6 * * * /home/ubuntu/*/myspider.sh >> /home/ubuntu//run.log 2> &1
实际操作详解
1.首先在你的路径下放置一个python文件
2.在同级目录下创建一个.sh的文件,并给他增加可执行文件
3.打开crontab编辑器: 命令为:crontab -e
4.在末尾输入文件路径和把错误重定向到哪个文件中
5.这样程序就能够每分钟执行一次啦,前面的5个*分别表示 分、时、日、月、星期.这是我们观察结果
现在已经完成3次啦
6.终止程序执行,只需要改变crontab里面的内容就可以了
7.这样我们的定时执行程序就完成啦,若想定时执行爬虫程序,我们也只需要将test.sh中的hello.py换成我们的爬虫程序即可!!其实不光是python,其他程序也能够定时执行,只需要修改可执行程序里的执行程序变量就可以啦.