码迷,mamicode.com
首页 > 系统相关 > 详细

linux下使用crontab定时执行脚本

时间:2018-04-19 00:31:24      阅读:277      评论:0      收藏:0      [点我收藏+]

标签:touch   路径   .com   linux   错误   输出   使用   linux系统   分享   

使用crontab定时执行脚本

cron服务是一个定时执行的服务,可以通过crontab 命令添加或者编辑需要定时执行的任务:

crontab –e : 修改 crontab 文件,如果文件不存在会自动创建。 
crontab –l : 显示 crontab 文件。 
crontab -r : 删除 crontab 文件。
crontab -ir : 删除 crontab 文件前提醒用户。

 执行以上命令的时候,若遇到“crontab command not found”错误,这是因为软件包没有安装

crontab 要安装两个软件包:   
vixie-cron 及 crontabs
直接执行 
yum install vixie-cron
yum install crontabs(这句可能不需要,但是你也可试试)
即可解决.

 

在crontab文件中写入需要执行的命令和时间,该文件中每行都包括六个域,其中前五个域是指定命令被执行的时间,最后一个域是要被执行的命令。每个域之间使用空格或者制表符分隔。格式如下: 

minute hour day-of-month month-of-year day-of-week commands  
分钟   小时   天   月   星期   要执行的命令
前面五个参数中间用空格隔开,最后是要执行的命令。

合法值为:00-59 00-23 01-31 01-12 0-6 (0 is sunday) 

除了数字还有几个特殊的符号:"*"、"/"和"-"、","

  • *代表所有的取值范围内的数字
  • "/"代表每的意思,"/5"表示每5个单位
  • "-"代表从某个数字到某个数字
  • ","分开几个离散的数字

注:commands 注意以下几点

  • 要是存在文件,要写绝对路径
  • 即使是打印也不会显示在显示屏,在后台运行,最好重定向日志

 

实例:

(写一个定时任务,每分钟往test.txt文件写入一个"good"字符串)

step1:写cron脚本文件,命名为mytest.cron。

使用touch命令创建两个文件,mytest.cron作为脚本文件,test.txt用来测试(作为日志打印输出文件)。

技术分享图片

技术分享图片

使用vi命令编辑mytest.cron文件。写入以下内容:

*/1 * * * * echo "good" >> /export/Domains/yy.embed.jd.com/server1/logs/test.txt   

表示每分钟,执行一次打印命令,往test.txt文件里写入一个

技术分享图片

技术分享图片

step2:添加定时任务。执行命令

crontab mytest.cron

技术分享图片

step3:"crontab -l" 查看定时任务是否成功或者检测/var/spool/cron下是否生成对应cron脚本

技术分享图片

step4:"service crond status"

Crontab是一个很方便的在unix/linux系统上定时(循环)执行某个任务的程序
使用cron服务,用 service crond status 查看 cron服务状态,如果没有启动则 service crond start启动它,启动命令“service crond start”。

 技术分享图片

使用cat命令查看test.txt文件,结果:

技术分享图片

 

linux下使用crontab定时执行脚本

标签:touch   路径   .com   linux   错误   输出   使用   linux系统   分享   

原文地址:https://www.cnblogs.com/hustzzl/p/8878664.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!