crond
crond的概念和crontab是不可分割的。crontab是一个命令,常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。而crond正是它的守护进程。
(1)crontab 需要启动一个服务crond才行,crond服务通过crontab命令实现。
(2)crontab工作
/etc/cron.deny 该文件中所列的用户不允许使用Crontab命令
/etc/cron.allow 该文件中所列的用户允许使用Crontab命令
/var/spool/cron/ 是所有用户的crontab文件
/var/spool/cron/crontabs /var/spool/cron/crontabs
Crontab命令的格式为:crontab –l|-r|-e|-i [username],其参数含义如表一:
参数名称www.britepic.org 含义 示例
-l 显示用户的Crontab文件的内容 crontabl –l
-i 删除用户的Crontab文件前给提示 crontabl -ri
-r 从Crontab目录中删除用户的Crontab文件 crontabl -r
-e 编辑用户的Crontab文件 crontabl -e
用户所建立的Crontab文件存于/var/spool/cron中,其文件名与用户名一致。
<pre name="code" class="cpp">[root@www etc]# vim cron.deny //文件中所列的用户不允许使用Crontab
[root@www etc]# vim cron.allow //该文件中所列的用户允许使用Crontab命令
[root@www etc]# cat cron.deny
admin
[root@www etc]# cat cron.allow
root
[root@www etc]# su - admin
[admin@www ~]$ crontab -e
You (admin) are not allowed to use this program (crontab)
See crontab(1) for more information
第一步:写cron脚本文件,命名为crontest.cron。
15,30,45,59 * * * * echo "xgmtest....." >> xgmtest.txt 表示,每隔15分钟,执行打印一次命令
第二步:添加定时任务。执行命令 “crontab crontest.cron”。搞定
第三步:"crontab -l" 查看定时任务是否成功或者检测/var/spool/cron下是否生成对应cron脚本
15,30,45,59 * * * * echo "xgmtest....." >> xgmtest.txt 表示,每隔15分钟,执行打印一次命令
第二步:添加定时任务。执行命令 “crontab crontest.cron”。搞定
第三步:"crontab -l" 查看定时任务是否成功或者检测/var/spool/cron下是否生成对应cron脚本
/
[root@www etc]# cat 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
* * * * * /bin/sh /scripts/yy.sh
分 时 日 月 周 命令和文件路径
(00-59) (0-23) (1-31) (1-12) (0-6)
所用符号表示意思
* 星号每的意思
- 减号连续一段时间,如:00 17-19 * * * cmd 每天下午17点,18点,19点执行一次命令
- 减号连续一段时间,如:00 17-19 * * * cmd 每天下午17点,18点,19点执行一次命令
, 逗号多个时间段,如:00 10-11,17-19 * * * cmd 每天的上午10,11点整,下午的17,18,19点整执行一次命令
/n
n
代表数字,指每隔
n
时间执行一次,如
: */2 * * * * cmd
每隔
2
分钟执行一次命令
|
(5)cron服务
cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业。
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
/sbin/service crond status //查看服务状态
cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业。
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
/sbin/service crond status //查看服务状态
测试:
[root@www etc]# crontab -e
crontab: installing new crontab
[root@www etc]# /sbin/service crond start
Starting crond: [ OK ]
[root@www etc]# cd /home
[root@www home]# vim tmp
[root@www home]# crontab -l
*/1 * * * * echo we are young >>/home/tmp //每隔一分钟向/home/tmp输入we are young
[root@www home]# cat tmp
we are young
we are young
we are young