热门搜索 :
考研考公
您的当前位置:首页正文

Linux下添加定时任务

来源:东饰资讯网

很多时候需要代码定时定点去执行,比如说写了一段爬取网站信息的代码,想每天早上进行一次爬取,就需要为系统添加计划任务。而在Linux系统下,系统计划任务可以通过crond来实现。那么crond是什么呢,以下摘录自网络:

说白了就是,我们可以通过自己编写定时规则来实现一些定时任务

下面先介绍一下crond的基本命令:

crond status:查看crond服务状态
crond start:启动crond服务
crond stop:关闭crond服务
crond restart:重启crond服务
crontab -u:设定某个用户的crond服务
crontab -l:列出某个用户的crond内容
crontab -r:删除某个用户的crond服务
crontab -e:编辑某个用户的crond服务内容
*有时在启动crond时会出现crond: can't lock /var/run/crond.pid, otherpid may be 15340: Resource temporarily unavailable的提示,只需用killall crond结束所有crond服务再重新启动即可

接下来是crond编写格式: crond格式

比如:
0 1 * * * /bin/echo 'test' > /home/test.log
表示每天01:00打印字符串‘hello world!’到/home/test.log文件中
又比如:
*/5 * * * * /home/test.sh
表示每隔5分钟执行/home/test.sh脚本
再比如:
0 1,2 * * 3 /home/test.sh
表示每周3的01:00和02:00分别执行一次/home/test.sh脚本

crond定时任务添加规范:

  1. 添加注释
  2. 定时任务最好以脚本(.sh)的形式执行
  3. 执行shell脚本任务前加/bin/sh
  4. 所有路径都要写全路径(包括应用程序的路径),比如要定时执行python程
    序,执行命令不能简单写作python ***.py,python程序的完整路径也要写
  5. 编写执行脚本要注意不要和window混用,要在纯linux环境下编写,否则会
    因平台保存文件格式不同出现-bash: ./***.sh: /bin/bash^M: bad interpreter: No such file or directory的错误
  6. 编写好的执行脚本最好先在命令行验证一下,在添加进计划任务中
  7. 定时任务命令或脚本结尾加>/dev/null 2>&1

完整的计划任务实例:

crond添加定时任务
0 1 * * * /home/test.sh
test.sh: #遇到权限问题执行 chmod u+x test.sh

#!/bin/sh
/usr/bin/python /home/test.py > /dev/null 2>&1
Top