crond与crontab调研

来源:互联网 发布:h323视频会议协议端口 编辑:程序博客网 时间:2024/06/05 15:56
crond :linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。crontab:linux 系统是由 cron (crond) 这个系统服务来控制的。Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的。另外, 由于使用者自己也可以设置计划任务,所以, Linux 系统也提供了使用者控制计划任务的命令 :crontab 命令。

crond是linux里面计划任务,使用这个可以定期为linux服务器建立备份机制,其他的安全机制
1.crond的配置问题 crontab cron.daily crond.monthly cron.weekly crond.hourly cron.dey cron.allow
2.crond 服务的主配置文件是/etc/crontab 文件
3.crond文件中的时间和日期字段
字段 取值
Minute 0~59
Hour 0~23 0 是午夜 20点是晚上8点
Day 1~31
Month 1~12
day of week 0~7 其中 0 7 都是星期天
任何字段中的”*”是通配符
指定某个时间范围应该用”~”
如果是隔一天运行任务可以day 设置为”*/2”
4.用户的crond任务
linux用户可以指定某个用户的计划任务(/etc/cron.deny 没有这个用户),使用crontab -e 命令启动用户的cron文件
所有用户的cron文件都存在/var/spool/cron目录

在 /etc目录下有一个crontab文件,这个就是系统任务调度的配置文件
[sherlock@localhost ~]$ cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
For details see man 4 crontabs
Example of job definition:
.—————- minute (0 - 59)
| .————- hour (0 - 23)
| | .———- day of month (1 - 31)
| | | .——- month (1 - 12) OR jan,feb,mar,apr …
| | | | .—- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
| | | | |
* * * * * user-name command to be executed

crond使用实例:
实例1:每1分钟执行一次command
命令:
* * * * * command

实例2:每小时的第3和第15分钟执行
命令:
3,15 * * * * command

实例3:在上午8点到11点的第3和第15分钟执行
命令:
3,15 8-11 * * * command

实例4:每隔两天的上午8点到11点的第3和第15分钟执行
命令:
3,15 8-11 /2 * command

实例5:每个星期一的上午8点到11点的第3和第15分钟执行
命令:
3,15 8-11 * * 1 command

实例6:每晚的21:30重启smb
命令:
30 21 * * * /etc/init.d/smb restart

实例7:每月1、10、22日的4 : 45重启smb
命令:
45 4 1,10,22 * * /etc/init.d/smb restart