linux脚本在预定时间执行,Linux下:定时任务——执行脚本

一、简单介绍LInux下的定时任务服务:crond服务

crond是Linux系统用来定期执行命令或指定程序的服务的一种服务或软件。

一般情况下安装完成Linux操作系统之后,默认便会启动Crond任务调用服务。

Crond服务会定期(默认一分钟检查一次)检查系统中是否有要执行的任务工作。如果有,便根据其预先设定的定时任务规则自动执行该定时任务工作。

二、设置定时任务,两种方法

1、crontab命令

crontab -e 进入当前用户的定时任务vim编辑模式

cfeae529ccbb0231477cdb098135e264.png

crontab -l 查看当前用户的定时任务配置

crontab -u 用户名 -l 查看指定用户的定时任务设置

注:crontab { -l | -e } 实际上就是在操作/var/spool/cron/当前用户这样的文件,root用户就是/var/spool/cron/root

2、直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的定时任务

79ed17ead993f3f7ba05c864127f2d2c.png

注:crontab -e配置是针对当前用户的定时任务,而编辑/etc/crontab是针对系统的定时任务

三、定时任务编写规则说明

# 直接编辑/etc/crontab 文件

minute - 从0到59的整数

hour - 从0到23的整数

day - 从1到31的整数 (必须是指定月份的有效日期)

month - 从1到12的整数 (或如Jan或Feb简写的月份)

dayofweek - 从0到7的整数,0或7用来描述周日 (或用Sun或Mon简写来表示)

root - 表示以root用户身份来运行

command - 需要执行的命令(可用as ls /proc >> /tmp/proc或 执行自定义脚本的命令)

run-parts表示后面跟着的是一个文件夹,要执行的是该文件夹下的所有脚本

对于以上各语句,星号(*)表示所有可用的值。例如*在指代month时表示每月执行(需要符合其他限制条件)该命令。

整数间的连字号(-)表示整数列,例如1-4意思是整数1,2,3,4

指定数值由逗号分开。如:3,4,6,8表示这四个指定整数。

符号“/”指定步进设置。“/”表示步进值。如0-59/2定义每两分钟执行一次。

# crontab -e 同上,只是不需要加用户

四、其他

1、crontab 语法格式中特殊符号含义如下表

特殊符号含义

**号,表示任意时间都,实际就是“每”的意思

-减号表示分隔符,表示一个时间范围,区间段,如17-19点,例如:每天的17,18,19点的00分执行任务。00 17-19 * * * cmd

,逗号,表示分隔时段的意思例如每天的5点10点00分执行任务,00 5,10 * * * cmd

/nn代表数字,即“每隔n单位时间”,例如:每10分钟执行一次任务可以写成/*10 * * * * cmd,其中,/10,的范围是0-59,因此也可以写成0-59/10

2、定时任务日志

# 不记录日志,在每一行定时任务后面加上:

> /dev/null 2>&1

# 日志记录追加到指定文件

>> /path/mylog.log 2>&1

说明:

> /dev/null 将输出重定向到/dev/null,这是个空设备,也就是忽略其输出。

2>&1 是将错误输出到标准输出,如果在控制台调试,也就是屏幕上,方便调试。

有3个默认的i/o,0是标准输入,一般是键盘;1是标准输出,一般是屏幕了;2是标准错误。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值