博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux Crontab定时任务
阅读量:6965 次
发布时间:2019-06-27

本文共 1886 字,大约阅读时间需要 6 分钟。

  hot3.png

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 ~]# 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/bashdate=$(date -d '+0 days' '+%Y-%m-%d')cd /data/tomcat8029_report/tar -zcpf  "/data/resultBak/resultBak-"$date".tar.gz" ./result

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

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

 

 

 

转载于:https://my.oschina.net/manmao/blog/837859

你可能感兴趣的文章
BM算法研究
查看>>
疯狂ios讲义之创建cocos2d项目(3)
查看>>
数据库复习
查看>>
Java并发包中的几种ExecutorService
查看>>
通过url,获取html内容,并解析
查看>>
高项2015年下半年培训随堂作业(10月日)
查看>>
windows系统中常见的环境变量有哪些
查看>>
今天到旅行
查看>>
Spark Streaming使用Kafka保证数据零丢失
查看>>
Linux学习记录--数据流重定向
查看>>
YII 联合查询
查看>>
PHP扩展模块Memcache Redis Mssql部署
查看>>
盘点11个面向文档的开源NoSQL数据库
查看>>
eclipse 快捷键
查看>>
最长有效括按号长度(利用栈解决java语言)
查看>>
用Gvim建立IDE编程环境 (Windows篇)
查看>>
ansible及ansible-palybook使用(持续更新)
查看>>
关于endian的故事,big-endian和little-endian
查看>>
Spring定时任务的几种实现
查看>>
使用JMeter进行性能测试
查看>>