Linux下使用Crontab定时执行脚本及多种案例

一、安装与基本语法

1、安装

yum -y install vixie-cron
yum install crontabs

2、语法

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

3、时间

在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 注意以下几点

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

二、案例

1、定时输出任务

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

mkdir /home/mycorn
touch /home/mycorn/mytest.txt
vim /etc/crontab
#命令如下
*/1 * * * * echo "good" >> /home/mycorn/mytest.txt
#开启定时任务
crontab /etc/crontab

在这里插入图片描述

2、定时清空日志

表示每四秒执行一个往mytest.log中填写一个“good”,然后每五秒通过for循环mycorn文件夹下以log为后缀的日志清除一遍日志(同一行的语句以;隔开)

*/4 * * * * echo "good" >> /home/mycorn/mytest.log
*/5 * * * * for i in `find /home/mycorn/ -name "*.log"`; do cat /dev/null > $i; done

实例2里一个文件中使用了多个定时、多个命令,使用crontab执行多个命令时,还有很多其他写法。比如只写一个定时,后面的命令写在一行,命令与命令之间用“;”分号隔开。例如实例2中的每一行命令,其实是3个命令写在一起。把上述12个命令全部写1行也是可以的。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李长渊哦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值