crond和crontab的调研
来源:互联网 发布:淘宝白底图片制作教程 编辑:程序博客网 时间:2024/05/18 02:35
1、crond是什么、干什么
crond 的概念和crontab是不可分割的。crond是crontab的守护进程。crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。
2、crontab是什么、干什么
crontab是一个命令,crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。该词来源于希腊语 chronos,原意是时间。
3、cron是什么
计划任务,是任务在约定的时间执行已经计划好的工作,这是表面的意思。在Linux中,我们经常用到cron服务器来完成这项工作。cron服务器可以根据配置文件约定的时间来执行特定的作务。
4、crond和crontab怎么使用
如果需要实现任务调度功能,可以编写cron脚本来实现以某一频率执行任务
Linux缺省会启动crond进程,crond进程不需要用户启动、关闭。
crond进程负责读取调度任务并执行,用户需要将相应的调度脚本写入cron的调度配置文件中
crontab -u //设定某个用户的cron服务
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除某个用户的cron服务
crontab -e //编辑某个用户的cron服务
5、编写crond和crontab测试实例
cron的启动与关闭
由于Cron是Linux的内置服务,可以用以下的方法启动.关闭这个服务:
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
* * * * * command
分 时 日 月 周 命令
crontab文件的格式:M H D m d cmd.
M: 分钟(0-59)。
H:小时(0-23)。
D:天(1-31)。
m: 月(1-12)。
d: 一星期内的天(0~6,0为星期天)。
这个格式的前一部分是对时间的设定,后面一部分是要执行的命令,如果要执行的命令太多,可以把这些命令写到一个脚本里面,然后在这里直接调用这个脚本就可以了,调用的时候记得写出命令的完整路径。时间的设定我们有一定的约定,前面五个*号代表五个数字,
除了数字还有几个个特殊的符号就是"*"、"/"和"-"、",",*代表所有的取值范围内的数字,"/"代表每的意思,"*/5"表示每5个单位,"-"代表从某个数字到某个数字,","分开几个离散的数字。
6、测试用例
01 * * * * root run-parts /etc/cron.hourly //每小时执行/etc/cron.hourly内的脚本
02 4 * * * root run-parts /etc/cron.daily //每天执行/etc/cron.daily内的脚本
22 4 * * 0 root run-parts /etc/cron.weekly //每星期执行/etc/cron.weekly内的脚本
42 4 1 * * root run-parts /etc/cron.monthly //每月去执行/etc/cron.monthly内的脚本
在很多系统中,用户目录下都有cron.daily之类的文件夹,里面的可执行文件每天都会被执行一次。也就是说如果想添加一个每天都被执行的任务的话,在目录下放置该任务的脚本即可。使用很方便,原理是什么呢,就是run-parts命令
23 3 * * * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >> /dev/null 2>&1
这条语句将在每天的凌晨3点23分 (03:23)运行 tar czf /usr/local/backups/daily/etc.tar.gz /etc 命令。>> /dev/null 2>&1 表示把所有标准输出发送到 /dev/null(linux的回收站),把标准错误输出(2)发送到和标准输出(1)同样的地方(即 /dev/null)。运行这行命令将不会产生任何输出。
30 15 13 6 2 * root tar czf /usr/local/backups/daily/etc.tar.gz /etc >> /dev/null 2>&1
它将在6月13日周二的15:30 运行 tar czf /usr/local/backups/daily/etc.tar.gz /etc 命令。
如果你想以用户joey的身份每小时的第15分钟 运行某个程序,可以
15 * * * * joey /usr/bin/somecommand >> /dev/null 2>&
其中的星号(*)是通配符,表示cron将忽略这个字段。
如果你想每两小时就运行某个程序,可以在小时字段里使用 */2 。它将会在2点,4点,6点……22点,24点运行。语句如下:
0 */2 * * * joey /usr/bin/somecommand >> /dev/null 2
cron语句中还可以使用逗号(,)来指定多个时间。例如你想在每小时的15分和30分 运行某个程序,可以在分钟字段使用 15,30 :
15,30 * * * * joey /usr/bin/somecommand >> /dev/null 2>&1
如果你想在每月的第一周(即1号到7号)每天的指定时间 运行某个程序,可以在日期字段使用 1-7 :
15,30 */2 1-7 * * joey /usr/bin/somecommand >> /dev/null 2>&1
这条语句将在每月的第1-7日每两小时的15分和30分 (02:15,02:30……22: 15,22:30等)运行 /usr/bin/somecommand 命令。
如果你想在每天的16:18 执行一个脚本集合,可以把所有要执行的脚本放到一个目录中(如 /home/username/cron),可以使用:
18 16 * * * root run-parts /home/username/cron >> /dev/null 2>&1
如果你想保存某个程序的输出结果,可以把 >> /dev/null 2>&1 替换为 >> /home/user/somecommand.log 2>&1 。
- crond 和 crontab 的调研
- crond和crontab的调研
- crond 和crontab调研
- crond和crontab调研
- crond和crontab调研
- crond和crontab 调研
- crond和crontab调研
- crond和crontab调研
- crond和crontab调研
- crond和crontab调研
- crond和crontab调研
- crond和crontab调研
- Linux下的crond和crontab调研
- 【Linux】调研 crond 和 crontab
- LINUX下的crond和crontab的调研
- crond命令和crontab命令调研
- crond与crontab调研
- crond与crontab调研
- 互联网商业模式
- activemq发布者/订阅模式模式
- TCP/IP协议第一讲
- SpringMVC学习之注解映射器和适配器
- 目标检测的图像特征提取
- crond和crontab的调研
- jmeter远程连接负载机出现报错解决方法
- js打印菱形
- 学习笔记:ubuntu永久修改DNS的两种方法
- 反射笔记1
- VC 获取Windows已安装软件(注册表方式)
- 学习笔记:Centos6.5永久修改DNS的方法
- 学习笔记:Linux重启方式init 0 init1 init 3 init 5 init 6 启动级别说明
- 最大熵原理