文档章节

Linux Crontab定时任务

满小茂
 满小茂
发布于 2017/02/13 19:45
字数 528
阅读 18
收藏 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 


 

 

 

© 著作权归作者所有

共有 人打赏支持
满小茂
粉丝 76
博文 120
码字总数 135036
作品 0
成都
程序员
私信 提问
在 Linux 中安全且轻松地管理 Cron 定时任务

在 Linux 中遇到计划任务的时候,你首先会想到的大概就是 Cron 定时任务了。Cron 定时任务能帮助你在类 Unix 操作系统中计划性地执行命令或者任务。也可以参考一下我们之前的一篇《关于 Cron...

作者: Sk
2018/10/03
0
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
NikolasNull/FastCron

项目简介 使用Java语言开发的定时任务集中调度和管理系统。基于quartz的二次集成,用于替代Linux系统中的crontab。 功能特性 Web界面管理定时任务,支持动态添加、删除、编辑任务。 crontab时...

NikolasNull
2018/09/30
0
0
为什么要用分布式集群任务调度?

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

调皮仔3683
2018/05/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Flink 幕后之内存管理

Flink 幕后之内存管理 引言 目前很多大数据处理框架,例如Hadoop、Spark、Storm、Flink等。它们都基于JVM语言开发(java or scala),运行在JVM上。为了加速合并或者排序(基于磁盘的方式通常...

moyiguke
12分钟前
1
0
风起云涌,看云计算如何赋能媒体行业?

在媒体行业的转型升级中,云计算的出现多维度促进了媒体融合,打破传统媒体行业与新媒体的界限和竞争格局,在媒体素材管理、移动端功能演进的过程中扮演着重要角色,颠覆了传统媒体新闻采编、...

七牛云
15分钟前
0
0
Mybatis开发遇到问题汇总

mybatis 中![CDATA[...]] 在今天使用Mybatis的xml文件中写sql语句时写入了一些特殊字符 如 < > & 等,但解析xml文件的时候会被转义,事实上并不希望它被转义,可以使用<![CDATA[ ]]>. 这是XML...

wangwei2134
23分钟前
0
0
参数验证 @Validated 和 @Valid 的区别

来源:blog.csdn.net/qq_27680317/article/details/79970590 整编:Java技术栈(公众号ID:javastack) Spring Validation验证框架对参数的验证机制提供了@Validated(Spring's JSR-303 规范......

Java技术栈
26分钟前
0
0
JS实现继承的几种方式

前言 JS作为面向对象的弱类型语言,继承也是其非常强大的特性之一。那么如何在JS中实现继承呢?让我们拭目以待。 JS继承的实现方式 既然要实现继承,那么首先我们得有一个父类,代码如下: ...

不负好时光
30分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部