昨天翻阅程序发现服务器端管理程序的启动方式很特别,在之前是由init进程启动程序脚本里的进程,昨天发现服务程序并没有在任何脚本中有启动的体现,但是服务程序确实是启动了,经过一番查找发现原来是crond定时启动被触发然后启动了服务程序。crond很久不见了,现在整理下。
-
了解
crond是一个后台守护进程,定时执行任务。最小检测时间是分钟。crontab是用来增删改查定时任务的工具。每个用户都有自己的crontab,虽然文件位于/var/spool/cron/crontab但是不能直接编辑。位于/etc/crontab可以直接编辑,因为该文件是针对root用户的,可以用root权限去编辑。crontab -e其实是/usr/bin/crontab的文件执行。 -
crond服务相关指令
service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置
service crond status //启动服务
chkconfig –level 35 crond on 加入开机自动启动
旧版本的crond修改后需要重启才能生效,新版本无需重启,修改后就会生效,因为其增加了inotity,监控着文件的修改变化。
-
crontab文件
crontab -l 列出当前的任务列表
crontab -e 编辑定时任务
格式描述如下图:
例如,添加如下1 2 3 4 5 root /bin/ls,表示root用户在4月3号并且当天是周五的2点1分执行/bin/ls命令。需要注意执行的命令要填写绝对路径。
特殊符号: * 代表所有可能的值,如字段分钟为*则表示满足分钟的整数;
,用作列表值,如字段分钟可表示为1,2,5表示在第1分钟,第2分钟,第5分钟;
- 用作范围值,如字段分钟3-5,表示第3到5分钟的整数;
/ 用作频率,如字段分钟*/12 ,表示每12分钟执行一次;
crontab -u 执行该用户下的定时任务。
如crontab -u root
crontab -r 删除所有crond任务,慎重执行。
关于上周龙芯的培训资料已上传至服务器,如果需要可关注下方公众号,后台直接回复“资料”获取。如果获取失败可后台直接留下邮箱,作者会第一时间发给您。