1.定时执行
crond服务操作命令:
/sbin/service crond start 启动服务
/sbin/service crond stop 关闭服务
/sbin/service crond status 服务状态查看
/sbin/service crond restart 重启服务
/sbin/service crond reload 重新载入配置
定时任务设置
vi /etc/crontab
输入定时任务
00 * * * * root /usr/local/shell/monitor.discovery.sh
* * * * * root /usr/local/shell/crontab.sh
00 */2 * * * root /usr/local/shell/cleardbdata.sh
其中,第一个代表每小时执行一次,第三个代表每两个小时执行一次,而第二个是定时执行一个具有30秒定时任务功能的脚本,原因是crond没有秒定时的设置,通过crontab.sh实现秒定时任务,下面给出crontab.sh的代码
# !/bin/bash
step=30
for (( i = 0; i < 60; i=(i+step) )); do
$(/usr/local/shell/monitor.sh)
$(/usr/local/shell/filesystem.sh)
$(/usr/local/shell/monitor.io.sh)
sleep $step
done
exit 0
设置定时任务后,系统重启后会自动定时执行,不需要再设置开机自启,如果发现有中断的情况,考虑crond服务的启动情况。
2.开机自启
chmod +x /etc/rc.d/rc.local
vi /etc/rc.d/rc.local
在此文件中添加需要开机执行的脚本的绝对路径,如
/usr/local/shell/crontab.sh
保存退出,即可生效。
可以根据脚本功能测试定时与开机启动效果,我的脚本都是数据写入数据库的操作,测试比较方便。