ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 详述Linux计划任务的 at和crontab的命令 以及如何查看crontab日志

详述Linux计划任务的 at和crontab的命令 以及如何查看crontab日志

原创 Linux操作系统 作者:贺子_DBA时代 时间:2014-07-25 21:21:47 0 删除 编辑
一:1.计划任务,是任务在约定的时间执行已经计划好的工作,这是表面的意思。在Linux中,我们经常用到 cron 服务器来完成这项工作。cron服务器可以根据配置文件约定的时间来执行特定的作务。比如我们可以在配置文件中约定每天早上4点,对httpd 服务器重新启动,这就是一个计划任务;  
2.cron是一个linux下的定时执行工具
Cron 是Linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/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@ENMOEDU log]# crontab -e  
 
分钟 (0-59)
小时 (0-23)
日期 (1-31)
月份 (1-12)
星期 (0-7)//0  7代表星期天                           #周月日不可同时存在,否则语法错误。
格式:*/3 * * * *    ls       #   每三分钟执行一次,
2.交互式命令: at      #要想使用at 必须要有atd这个服务  [root@ENMOEDU ~]# /etc/init.d/atd restart    重启atd服务,

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

at> cp liuhezi /u01/app            #at 只执行一次,注意  命令输完后,以 ctrl+d   结束。
at>                                                   
job 4 at 2014-07-25 15:41 
[root@ENMOEDU ~]# cd /u01/app     
[root@ENMOEDU app]# ls         进入/u01/app   目录  发现还没有  复制的文件  因为还没有到时间
oracle oraInventory 
[root@ENMOEDU app]# date  
Fri Jul 25 15:40:39 CST 2014 
[root@ENMOEDU ~]#                  #到了时间   再看   已经有了    
liuhezi oracle oraInventory 
 [root@ENMOEDU ~]# atq             #查看at工作调度
1 2014-07-26 15:19 a root               
[root@ENMOEDU ~]# atrm 1           #删除at工作调度
[root@ENMOEDU ~]# 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执行情况。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29654823/viewspace-1228693/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
10年数据库管理员从业经历,熟悉Oracle、mysql、tidb、oceanbase、redis、 mongodb 、python等技术栈,持有11g ocm 、mysql 5.7 ocp 、tidb 5.0 ptcp、tidb 6.0 ptca、oceanbase obcp等

注册时间:2014-05-12

  • 博文量
    327
  • 访问量
    2148980