定时引爆之crontab

楔子

其实写一个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

[[email protected]lsl ]# crontab -e  

分钟 (0-59)

小时 (0-23)

日期 (1-31)

月份 (1-12)

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

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

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

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

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


 [[email protected]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

[[email protected]lsl ]# cd /u01/app

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

oracle oraInventory

[[email protected]lsl app]# date

[[email protected]lsl ~]#          #到了时间再看已经有

lishilong oracle oraInventory

[[email protected]lsl~]# atq      #查看at工作调度

2017-09-12 15:19 a root

[[email protected]lsl~]# atrm 1   #删除at工作调度

[[email protected]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

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

每隔一分钟执行一次。

tail -10 /var/log/cron

总结:日积月累

时间: 2024-10-21 05:40:17

定时引爆之crontab的相关文章

【转】定时自动启动任务crontab命令用法

每个操作系统都有它的自动定时启动程序的功能,Windows有它的任务计划,而Linux对应的功能是crontab. crontab简介 crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行.该词来源于希腊语 chronos(χρ?νος),原意是时间. 通常,crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的作业需要执行.这类作业一般

Linux配置定时,使用 crontab -e 与 直接编辑 /etc/crontab 的区别

转自:http://blog.csdn.net/catoop/article/details/41821395 版权声明:本文为博主原创文章,未经博主允许不得转载. Linux配置定时任务,大家都知道使用crontab这个系统功能,但有时候我们需要区分用户执行,下面就直接说一下2种方法的区别: 方法1: 使用命令 crontab -e 然后直接编辑定时脚本. 这样执行以后,属于用户自定义的,会被写到 /var/spool/cron 目录下,生成一个和用户名一致的文件,文件内容就是我们编辑的定时脚

linux定时执行任务crontab命令用法

linux系统的定时任务是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的.另外, 由于使用者自己也可以设置计划任务,所以,Linux系统也提供了使用者控制计划任务的命令:crontab 命令 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有

linux开机启动任务和定时执行任务 crontab

os主要有单用户单任务.单用户多任务.多用户多任务几种类型.在多用户多任务操作系统中,对每个用户运行环境的设置就十分重要. 一.开机自启动任务. 我们首先要明确开机自启动是个什么概念.开机自启动的任务主要在两个时间点发生,一个是用户没有登陆之前,系统正在启动的过程中,另一个是用户成功登陆之后(即通过登陆界面输入用户名密码登陆之后). 1.在用户登陆之前,系统启动过程中自动启动任务 基础知识了解:系统启动过程中,内核被加载后,执行的第一个程序是/sbin/init,init程序会读取inittab

linux 定时执行任务 crontab

欲编写定时任务访问网页和打开图片 原来写法为 #!/bin/bash #可以执行 echoecho "Hello" > dir/file.txt #不可以执行 xdg-open xdg-open https://www.baidu.com /usr/bin/xdg-open /home/cui/图片/used/张雨绮.jpg; 上述写法不能正常执行,添加 export DISPLAY=:0 即可执行xdg-open 原因xdg-open命令用了打开网页和图片需要 为他设置显示的环

linux的定时计划任务Crontab

1.什么是crontab crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于"crontab"文件中,以供之后读取和执行.该词来源于希腊语 chronos(χρνο),原意是时间.通常,crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的作业需要执行.这类作业一般称为cron jobs. 计划任务分2种: 1.  例外性:按一定的周期循环来执行工作,如每月发薪水.每天

ubuntu定时执行任务——crontab的使用

先补上几个链接,后续再总结 #参考# http://www.cnblogs.com/kaituorensheng/p/4494321.html http://blogread.cn/it/article/6096 http://blog.csdn.net/ybsun2010/article/details/9972403

Spring与Quartz的整合实现定时任务调度 以及crontab的用法

最近在研究Spring中的定时任务功能,最好的办法当然是使用Quartz来实现.对于一个新手来说,花了我不少时间,这里我写个笔记,给大家参考. 我使用的是Maven来管理项目,需要的Jar包我给大家贴出来. quartz-1.8.5.jar commons-logging.jar spring-core-3.0.5.RELEASE.jar spring-beans-3.0.5.RELEASE.jar spring-context-3.0.5.RELEASE.jar spring-context-

Linux- Linux自带定时调度Crontab使用详解

Linux自带定时调度Crontab使用详解 在Linux当中,有一个自带的任务调度功能crontab,它是针对每个用户,每个用户都可以调度自己的任务. 示例:每分钟执行一次,将时间写入到指定文件当中 crontab -e //编辑定时任务调度 ###first crontab */1 * * * * /bin/date >> /root/log.txt 列出目前所有的定时任务 crontab -l 删除所有的定时任务 crontab -r 或者在该定时任务前加上"#"注释