文档章节

Linux Crontab定时任务

满小茂
 满小茂
发布于 2017/02/13 19:45
字数 528
阅读 15
收藏 1

Linux系统crontab默认是开机启动的

[root@localhost ~]# /etc/init.d/crond status  
crond (pid  1044) 正在运行...  

系统级别的计划任务:

[root@localhost ~]# /etc/cron.  
cron.d/       cron.daily/   cron.hourly/  cron.monthly/ cron.weekly/  

用户级别的计划任务:

我们看下系统定义的crontab命令格式:

[root@localhost ~]# vi /etc/crontab   
SHELL=/bin/bash  
PATH=/sbin:/bin:/usr/sbin:/usr/bin  
MAILTO=root  
# For details see man 4 crontabs  
# Example of job definition:  
# .---------------- minute (0 - 59)  
# |      .------------- hour (0 - 23)  
# |     |      .---------- day of month (1 - 31)  
# |     |     |       .------- month (1 - 12) OR jan,feb,mar,apr ...  
# |     |     |       |       .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat  
# |     |     |       |       |  
# *     *     *       *       *       user-name    command to be executed  
  分    时    日    月    周          用户               执行的命令  

取值范围分别为:

【分:0-59】【时:0-23】【日:1-31】【月:1-12】【周:0-6 ( 周日可以用0或7表示 )】

 

常用命令:
# crontab -e   创建一个计划任务
# crontab -l    显示计划任务
# crontab -r    删除计划任务


下面我们创建一个简单的计划任务:

[root@localhost ~]# crontab -e  
21 16 * * * echo `date` > /tmp/date.txt          ## 每天16:21分把当前系统时间写入/tmp/date.txt  
root@localhost ~]# cat /tmp/date.txt   
Mon Sep 12 16:21:01 CST 2016  
1 3 3,6,9 * *  /bin/bash /tmp/shell/databkup.sh       ## 每月3,6,9 这几天的.03:01分,执行数据库备份脚本  

 

 如何查看最近crontab执行的日志记录,可以用下面的2个方式来查看:

[root@localhost ~]# tail  /var/log/cron      ## 方式一  
  
[root@localhost ~]# tail -f /var/spool/mail/root    ## 方式二  
  1.  

 例:

  (1)删除过期文件

    在用户目录下查找修改时间在3天前的“.txt”文件并删除

$find ~/data/  -mtime +3 -name "*.txt" -exec rm {} \; 

    在用户目录下查找修改时间在3天内的“.txt”文件并删除

 $find ~/data/  -mtime -3 -name "*.txt" -exec rm {} \;

    定时删除       #每天晚上9.30执行一次文件删除操作,删除三天前的日志

$30 21 * * *  find ~/data/  -mtime +3 -name "*.log" -exec rm {} \;  

 (2) 比如定期备份服务器上面某个目录下的数据,并且打包到另一个目录下

#! /bin/bash
date=$(date -d '+0 days' '+%Y-%m-%d')
cd /data/tomcat8029_report/
tar -zcpf  "/data/resultBak/resultBak-"$date".tar.gz" ./result

 使用crontab定时备份(每天00:00分备份一次)

$crontab -e
0 0 * * * /bin/bash /data/tomcat8029_report/bakResultSh.sh 


 

 

 

© 著作权归作者所有

共有 人打赏支持
满小茂
粉丝 65
博文 117
码字总数 126914
作品 0
成都
程序员
定时任务工具——CronUtil

牢骚 Java中定时任务使用的最多的我想就是quartz了,但是这个框架太过庞大,而且我也不需要用到这么多东西,使用方法也是比较复杂(官方Demo我实在是无语……)。于是我便寻找新的框架代替(...

路小磊
2015/02/24
0
6
PHP不支持多线程,有时候处理问题不是那么爽,今天谈论一下PHP定时执行的方法

PHP定时执行的三种方式实现 1、windows 的计划任务 2、linux的脚本程序 3、让web浏览器定时刷新 具体实现 windows计划任务 PHP很少在win服务器上跑,具体实现也不再深究,看网上实现的原理大...

anziguoer
2014/04/10
0
2
为什么要用分布式集群任务调度?

作为一个开发者,避免不了定时任务的问题,最粗暴和简单直接的解决方案就是crontab。当然在机器少,任务不多,定时任务之间关联少的情况下,crontab效率还是比较高和便捷的。但当机器越多、定...

调皮仔3683
05/04
0
0
为社么要用分布式集群任务调度?

作为一个开发者,避免不了定时任务的问题,最粗暴和简单直接的解决方案就是crontab。当然在机器少,任务不多,定时任务之间关联少的情况下,crontab效率还是比较高和便捷的。但当机器越多、定...

友凡老师
07/15
0
0
Linux利用Crontab定时访问某个路由地址

文章出自虎书博客,转载请注明出处。 首先利用linux的Crontab命令创建定时任务,然后结合curl实现定时访问某个路由地址,下面来看如何操作。 1、先通过 crontab -e 创建定时任务 2、编辑写入...

虎书博客
07/10
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

RabbitMQ在CentOS环境安装

1.废话不多说准备一台虚拟机,系统为centos,我这里使用的系统版本如下图所示:

凌晨一点
47分钟前
0
0
线程池相关

在java.util.concurrent包下,提供了一系列与线程池相关的类。 使用线程池的好处 降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗; 提高响应速度。当任务到达时,任务...

edwardGe
49分钟前
0
0
学习大数据这三个关键技术是一定要掌握!

大数据时代全面来临,大数据、人工智能等技术引领科技创新潮流,获得国家政策大力支持,前景广阔。学习大数据技术的人自然是络绎不绝, 学习大数据虽然是一个趋势,但也要注意大数据培训课程...

董黎明
今天
0
0
jetbrains 上传代码到github

设置中找github 获取token 验证是否成功 测试git 生成key,一路回车即可 ssh-keygen -t rsa -C “youremail@example.com” 打开pub复制key,需要再次输入一次密码 验证是否成功,输入yes即可...

阿豪boy
今天
0
0
分布式服务框架(拾遗)

前言 现在的大部分工程都已经是基于分布式架构来处理。所以这里对分布式框架做一个简单的总结 常用的RPC框架 RPC框架原理 RPC(Remote Procedure Call,远程过程调用)一般用来实现部署在不同...

kukudeku
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部