加入收藏 | 设为首页 | 会员中心 | 我要投稿 厦门网 (https://www.xiamenwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

定时任务crontab命令详解

发布时间:2021-03-05 12:10:47 所属栏目:站长百科 来源:网络整理
导读:crontab命令 被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。 ?rp

crontab命令被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。

?rpm -qa cronie? 查询是否安装了定时任务软件,定时任务的软件名为cronie

?rpm -ql cronie? 查看软件包里面的内容

?/etc/init.d/crond status? 查看crond是否运行

每五分钟同步一下系统的时间
###第1个里程碑-命令
[[email?protected] oldboy]# ntpdate ntp1.aliyun.com
15 Jan 15:25:02 ntpdate[7921]: adjust time server 182.92.12.11 offset -0.007840 sec
[[email?protected] oldboy]# /usr/sbin/ntpdate ntp1.aliyun.com
15 Jan 15:25:51 ntpdate[7922]: adjust time server 182.92.12.11 offset 0.003084 sec
###第2个里程碑-写入定时任务
[[email?protected] oldboy]#
[[email?protected] oldboy]# crontab -l
#sync time by lee at 20171212
*/3 * * * * /usr/sbin/ntpdate ntp1.aliyun.com
[[email?protected] oldboy]#
###第3个里程碑-检查
#1)看日志
[[email?protected] oldboy]# tail -f /var/log/cron
Jan 15 15:30:01 oldboyedu01-nb CROND[7945]: (root) CMD (/usr/sbin/ntpdate ntp1.aliyun.com)
Jan 15 15:30:02 oldboyedu01-nb CROND[7955]: (root) CMD (/usr/sbin/ntpdate ntp1.aliyun.com)
#2)看结果
[[email?protected] ~]# date -s "1year"
Tue Jan 15 15:29:28 CST 2019
[[email?protected] ~]# date
Mon Jan 15 15:30:33 CST 2018

You have new mail in /var/spool/mail/root

每天的上午7点到上午11点 每一个小时运行CMD命令
* 07-11 * * * CMD #每分钟运行CMD

00 07-11 * * * CMD #每个小时运行CMD

[[email?protected] oldboy]# #~每分钟把自己的名字 追加到 /oldboy/oldboy.txt
##1.命令
[[email?protected] oldboy]# echo oldboy >>/oldboy/oldboy.txt
[[email?protected] oldboy]# tail /oldboy/oldboy.txt
oldboy
##2.定时任务
[[email?protected] oldboy]# crontab -l
[[email?protected] oldboy]# crontab -l|tail -2
#print name to file by lee at 20171212
* * * * * echo oldboy >>/oldboy/oldboy.txt
#3.检查
##1)日志

tail -f /var/log/cron
Jan 15 15:49:01 oldboyedu01-nb CROND[8054]: (root) CMD (echo oldboy >>/oldboy/oldboy.txt)

##2)结果
[[email?protected] ~]# tail -f /oldboy/oldboy.txt
oldboy

0 07-11 * * *

oldboy

每分钟显示当前系统的时间(年-月-日)追加到/tmp/time.log中
##1.命令
[[email?protected] oldboy]# date +%F
2018-01-15
##2.脚本
[[email?protected] oldboy]# mkdir -p /server/scripts
[[email?protected] oldboy]# cat /server/scripts/date.sh
date +%F
[[email?protected] oldboy]# sh /server/scripts/date.sh
2018-01-15
[[email?protected] oldboy]# sh /server/scripts/date.sh >>/tmp/date.log
[[email?protected] oldboy]# cat /tmp/date.log
2018-01-15
##3.脚本写入定时任务
[[email?protected] oldboy]# crontab -e
#print date to file by lee at 20171212
* * * * * /bin/sh /server/scripts/date.sh >>/tmp/date.log
##4.检查
[[email?protected] oldboy]# tail -f /var/log/cron
Jan 15 16:24:01 oldboyedu01-nb CROND[8330]: (root) CMD (/bin/sh /server/scripts/date.sh >>/tmp/date.log)

[[email?protected] ~]# tail -f /tmp/date.log
2018-01-15

05.定时任务中-命令或脚本结果(正确及错误)定向到黑洞(>/dev/null 2>&1)或追加到文件中 >>/tmp/oldboy.txt 2>&1

#sync time by lee at 20171212
*/3 * * * * /usr/sbin/ntpdate ntp1.aliyun.com >/dev/null 2>&1

#print name to file by lee at 20171212
#* * * * * echo oldboy >>/oldboy/oldboy.txt 2>&1

#print date to file by lee at 20171212
#* * * * * /bin/sh /server/scripts/date.sh >>/tmp/date.log 2>&1
* * * * * date +%F >>/tmp/date.log 2>&1

>/dev/null 2>&1 === >/dev/null 2>/dev/null

故障案例
【企业案例】如果定时任务规则结尾不加>/dev/null 2>&1或者追加到文件中>>/tmp/oldboy 2>&1,很容易导致硬盘inode空间被占满,从而系统服务不正常。

###定时任务中 命令或脚本的结果 没有定向到空或文件中
#2.邮件软件开启了---------定时任务会不断的给root用户发邮件
#you have new mail in /var/spool/mail/root
You have new mail in /var/spool/mail/root

#1.邮件的软件没有开启------大量小文件堆积在/var/spool/postfix/maildrop/ ---inode满了

[[email?protected] oldboy]# /etc/init.d/postfix stop
Shutting down postfix: [ OK ]
[[email?protected] oldboy]# chkconfig postfix
[[email?protected] oldboy]# chkconfig postfix off
[[email?protected] oldboy]# chkconfig |grep postfix
postfix 0:off 1:off 2:off 3:off 4:off 5:off 6:off

[[email?protected] oldboy]# ll /var/spool/postfix/maildrop/
total 0

#每分钟显示当前系统的时间年-月-日_周 和当前系统的ip地址,追加到/tmp/ip.log中
http://oldboy.blog.51cto.com/2561410/1410555
linux定时任务生产java服务无法执行问题群友案例
http://oldboy.blog.51cto.com/2561410/1541515

export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:~/bin

定时任务书写流程

1.开始

2.命令行检查

3.编写脚本

4.测试脚本

5.编写crontab

6.测试

7.完成

(编辑:厦门网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读