文档章节

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 


 

 

 

© 著作权归作者所有

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

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

作者: Sk
10/03
0
0
定时任务工具——CronUtil

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

路小磊
2015/02/24
0
6
Linux工具命令之crontab

前言 在平时工作中,我们经常需要执行一些定时任务。 比如我的电脑每天晚上都会在凌晨1点开始sync代码,并执行编译。4点又会sync另一份代码。执行另一个编译任务。这无疑会提高我们白天的工作...

Anderson大码渣
10/14
0
0
NikolasNull/FastCron

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

NikolasNull
09/30
0
0
PHP不支持多线程,有时候处理问题不是那么爽,今天谈论一下PHP定时执行的方法

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

anziguoer
2014/04/10
0
2

没有更多内容

加载失败,请刷新页面

加载更多

崩溃bug日志总结1

目录介绍 1.1 java.lang.UnsatisfiedLinkError找不到so库异常 1.2 java.lang.IllegalStateException非法状态异常 1.3 android.content.res.Resources$NotFoundException 1.4 java.lang.Ille......

潇湘剑雨
53分钟前
0
0
学习大数据为什么要先学Java?

计算机编程语言有很多,目前用的多一点的就是Java,C++,Python等等。目前大多数学习大数据的人都是选择学习Java,那Java到底好在哪呢?为什么学大数据之前要先学Java呢?我们今天就来分析一...

董黎明
今天
1
0
php删除服务器所有session

php删除服务器所有session踢掉所有在线用户linux 注意:如果要删除服务器上所有session,重启php服务是解决不了问题的,php的session是持久化的。 有效解决办法: 删除 /tmp 下的所有文件(默...

妖尾巴
今天
0
0
Ubuntu18.04 安装最新版WPS

1.手动卸载libreoffice:sudo apt-get remove --purge libreoffice* 2.官网下载WPS和字体: WPS:http://wps-community.org/download.html 字体:http://wps-community.org/download.html?vl......

AI_SKI
今天
4
0
数据结构(算法)-图(深度优先搜索 DFS)

#include <iostream>using namespace std;#define MaxVex 30typedef char VertexType;typedef struct vexNode adjList[MaxVex];struct edgeNode{int adjvex;//邻接点......

ashuo
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部