定时引爆之crontab

简介: 楔子其实写一个python 或者 shell 脚本即可,以下内容只为入门学习。接下来开始埋放地雷或者×××。简介:1.计划任务,是任务在约定的时间执行已经计划好的工作,这是表面的意思。


楔子


其实写一个python 或者 shell 脚本即可,以下内容只为入门学习。

接下来开始埋放地雷或者×××。


简介:


1.计划任务,是任务在约定的时间执行已经计划好的工作,这是表面的意思。

在Linux中,我们经常用到 cron 服务器来完成这项工作。cron服务器可以根据配置文件约定的时间来执行特定的作务。比如我们可以在配置文件中约定每天早上4点,对nginx服务器重新启动,这就是一个计划任务;  


2.cron是一个linux下的定时执行工具


Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:

usr/local/sbin/service crond start //启动服务

usr/local/sbin/service crond stop //关闭服务

usr/local/sbin/service crond restart //重启服务

usr/local/sbin/service crond reload //重新载入配置


3.参数:

-u :只有root 才能进行这个任务,也即帮其他用户新建/删除crontab工作调度。


-e :编辑crontab 的工作内容。 //一个工作一行来编辑。


-l :查阅crontab 的工作内容。


-r  : 删除所有的crontab的内容. //若仅要删除一项,请用-e去编辑。


/etc/cron.allow  将可以使用crontab的账号写入其中,如不在其中则用户不能使用。


/etc/cron.deny   将不可以使用的写入其中,若没有记录在里面则可以使用。       //优先判别/etc/cron.allow   但默认有/etc/cron.deny



[root@lsl ]# crontab -e  


 wKioL1m3kAaBQ3pwAABbVHVdBLM141.png-wh_50


分钟 (0-59)

小时 (0-23)

日期 (1-31)

月份 (1-12)

星期 (0-7)//0  7代表星期天


#周月日不可同时存在,否则语法错误。


格式:*/3 * * * *     #每三分钟执行一次,


2.交互式命令:at      #要想使用at 必须要有atd这个服务 


 [root@lsl~]# /etc/init.d/atd restart    重启atd服务


 [root@lsl ~]# at 15:41 或  at now + 1 minutes      


 at> cp liuhezi /u01/app  #at 只执行一次,注意  命令输完后

 // 以 ctrl+d   结束。

at> job 4 at 2017-09-12 15:41 

[root@lsl ]# cd /u01/app     

[root@lsl ]# ls     进入/u01/app  目录 发现还没有复制的文件因为还没有到时间

oracle oraInventory 


[root@lsl app]# date  

[root@lsl ~]#          #到了时间再看已经有 

lishilong oracle oraInventory 


 [root@lsl~]# atq      #查看at工作调度

 

  2017-09-12 15:19 a root  

             
 [root@lsl~]# atrm 1   #删除at工作调度



 [root@lsl~]# atq 



(2)batch命令使系统有空时才进行后台任务,他会在cpu工作负载小于0.8的时候,才进行你所要执行你的工作任务。


用法类似 at 用户。


昨天crontab中的同步任务没有执行,不知道是什么原因没有执行,貌似任务hang住了,想查询一下crontab到底问题出在哪里,或者hang在了什么地方。
 

1.  linux
看 /var/log/cron这个文件就可以,可以用tail -f /var/log/cron观察
 

2.  unix
在 /var/spool/cron/tmp文件中,有croutXXX001864的tmp文件,tail 这些文件就可以看到正在执行的任务了。

 3. mail任务
在 /var/spool/mail/root 文件中,有crontab执行日志的记录,用tail -f /var/spool/mail/root 即可查看最近的crontab执行情况。



例子如图所示:


vim /crontab/auto_cancel_order.sh


wKiom1m3kDqz29klAAAE1yAw-p8515.png-wh_50


执行命令 crontab - e 执行任务计划。


wKioL1m3kBujkRD-AAADKk0v_PY979.png-wh_50

每隔一分钟执行一次。


tail -10 /var/log/cron


wKioL1m3kCXgHzMLAAAwsN7rLqc356.png-wh_50


总结:日积月累

相关文章
|
3月前
|
运维 安全 搜索推荐
记一次crontab定时任务被清空的故障原因定位及复盘过程
记一次crontab定时任务被清空的故障原因定位及复盘过程
80 0
|
4月前
|
资源调度 Kubernetes 调度
从 Linux Crontab 到 K8s CronJob,定时任务正在经历怎样的变革
从 Linux Crontab 到 K8s CronJob,定时任务正在经历怎样的变革
118697 59
|
10月前
|
Linux Shell
定时每天凌晨一点在linux系统上执行一个autobuild.sh脚本如何实现?
定时每天凌晨一点在linux系统上执行一个autobuild.sh脚本如何实现?
|
10月前
|
消息中间件 Shell RocketMQ
谁让你再使用cron发送延时消息,你直接给他一jio!(文末送书)
谁让你再使用cron发送延时消息,你直接给他一jio!(文末送书)
105 0
|
存储 关系型数据库 MySQL
使用MySQLl事件定时执行岗位七天下线任务
使用MySQLl事件定时执行岗位七天下线任务
|
存储 XML Java
学会这10种定时任务,我有点飘了
学会这10种定时任务,我有点飘了
学会这10种定时任务,我有点飘了
|
关系型数据库 Linux 调度
定时引爆之crontab
楔子 其实写一个python 或者 shell 脚本即可,以下内容只为入门学习。 接下来开始埋放地雷或者×××。 简介: 1.计划任务,是任务在约定的时间执行已经计划好的工作,这是表面的意思。
1041 0
|
程序员 数据库
at,crontab定时程序
介绍 程序员对于定时执行任务一定不陌生,很多任务为了减少对用户的干扰,如系统更新、维护、数据库结构变更等,通常会选择在凌晨进行。对于一些简单的无需人工照看的任务,就可以预先写好命令,并设定时间自动运行,然后就可以安心睡大觉了。
980 0
|
jenkins 持续交付
在Jenkins上做一个定时闹钟
[本文出自天外归云的博客园] 利用Jenkins定时任务来做一个闹钟,每天隔一段时间提醒自己一下“你该休息了!别老坐着!出去走一走!珍爱生命,远离久坐!” 首先在Jenkins上创建一个node。 创建好node之后再创建一个job。
1865 0
crontab 每分钟、每小时、每天、每周、每月、每年定时执行
每五分钟执行  */5 * * * * 每小时执行     0 * * * * 每天执行        0 0 * * * 每周执行       0 0 * * 0 每月执行        0 0 1 * * 每年执行       0 0 1 1 * ...
3138 0