Linux任务计划crontab


 Crontab简介

crontab 命令常见于 Unix 和类 Unix 的操作系统之中(Linux 就属于类 Unix 操作系统),用于设置周期性被执行的指令。该命令从输入设备读取指令,并将其存放于 crontab 文件中,以供之后读取和执行。通常,crontab 储存的指令被守护进程激活,crond 为其守护进程,crond 常常在后台运行,每一分钟会检查一次是否有预定的作业需要执行。

通过 crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script 脚本。时间间隔的单位可以是分钟、小时、日、月、周的任意组合。

这里我们看一看crontab 的格式

# Example of job definition:

# .---------------- 第一个参数填写分钟 (0 - 59),填写 * 则表示每分钟执行,填写1-5,则表示从第1分钟到第5分钟都执行,填 */n 时,表示每 n 分钟个时间间隔执行一次,填a,b时,则表示第a分钟和第b分钟都执行,其他参数的规则以此类推;

# |  .-------------第二个参数表示小时(0 - 23);

# |  |  .---------- 第三个参数表示具体日期(1 - 31);

# |  |  | .-------  第三个参数表示月份 (1 - 12);

# |  |  | |  .----  第四个参数表示星期几 (0 - 6);

# |  |  | |  | ---- 最后面加上 要执行的命令

# *  *  * *  * user-name command to beexecuted

 例子:

×/1  *  *  *  *  touch /home/$(date +\%Y\%m\%d\%H\%M\%S)    每隔1分钟生成一个以当前时间命名的文件

0 3 * * *  service tomcat restart  每天凌晨三点重启tomcat服务

0 2 1 * * *  /home/backup_mysql.sh   每月1号的凌晨2点执行mysql数据库备份脚本

crontab 使用

crontab [ -u user ] file 
crontab [ -u user ] { -l | -r | -e }

-e : 建立的Crontab文件,编写具体的任务计划
-r : 删除当前所有的任务计划
-l : 列出当前所有的任务计划

每个用户使用 crontab -e 添加计划任务,都会在 /var/spool/cron/crontabs 中添加一个该用户自己的任务文档,这样目的是为了隔离;

如果是系统级别的定时任务,应该如何处理?只需要以 sudo 权限编辑 /etc/crontab 文件就可以。

cron 服务监测时间最小单位是分钟,所以 cron 会每分钟去读取一次 /etc/crontab 与 /var/spool/cron/crontabs 里面的內容。

在 /etc 目录下,cron 相关的目录有下面几个:

  1. /etc/cron.daily,目录下的脚本会每天执行一次,在每天的6点25分时运行;
  2. /etc/cron.hourly,目录下的脚本会每个小时执行一次,在每小时的17分钟时运行;
  3. /etc/cron.monthly,目录下的脚本会每月执行一次,在每月1号的6点52分时运行;
  4. /etc/cron.weekly,目录下的脚本会每周执行一次,在每周第七天的6点47分时运行;

系统默认执行时间可以根据需求进行修改。




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值