Linux Crontab定时任务
Linux Crontab定时任务
满小茂 发表于1年前
Linux Crontab定时任务
  • 发表于 1年前
  • 阅读 14
  • 收藏 1
  • 点赞 0
  • 评论 0

新睿云服务器60天免费使用,快来体验!>>>   

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 


 

 

 

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 63
博文 112
码字总数 119325
×
满小茂
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: