crontab命令用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。
安装crontab:yum install crontabs
crontab:定时任务的守护进程,精确到分,设计秒的我们一般写脚本 -->相当于闹钟
日志文件: ll /var/log/cron*
编辑文件: vim /etc/crontab
进程:ps -ef | grep crond ==> /etc/init.d/crond restart
作用:定时备份,实时备份
crontab服务启动与关闭:
使用shell脚本,定时检查mysqld的服务状态,一旦发现停止工作,就立即执行重启。以下是处理过程。
1、在/root/bin目录下建立一个shell目录。(文件按类别放在自己建的目录里,方便使用、查找、编辑、删除。这个习惯自己知道就好。)
mkdir /root/bin
cd /root/bin
2、建立mysqld服务守护脚本。
vim mysqld_protect.sh
脚本内容:
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
pgrep -x mysqld &> /dev/null
if [ $? -ne 0 ]
then
echo "At time:$(date) :MySQL is stop .">> /var/log/mysql_messages
service mysqld start
else
exit
fi
在上面的代码中/var/log/mysql_messages主要是将MySQL出问题时的相关信息记录下来,以备必要时进行查询。所以接下来我们还要建立一个空白的mysql_messages文件。
vim /var/log/mysql_messages
执行上面命令后按键盘上的“ESC”,然后输入“:wq”就是保存退出,即可。
利用crontab增加一个定时任务(需要前提安装crontab)。
crontab -e
在crontab里增加下面一行内容:
*/5 * * * * sh /root/bin/mysqld_protect.sh > /dev/null 2>&1
上面一句话的大体意思就是每隔5分钟就执行以下mysqld_protect.sh这个脚本,执行结果不发送结果邮件。
上述方法是通过shell脚本监测mysqld的状态,大家也可以延伸到监测其他系统进程。