检测mysql是否运行,如崩溃自动重启

最好的办法,当然是从根源上避免程序崩溃。
但是在一个512M内存的小服务器上,数据库崩溃还是无法完全避免。
方法一
做个脚本。不过这个方法有点绕远了。
#!/bin/bash
if (( $(ps -ef | grep -v grep | grep mysqld | wc -l) <= 0 ))
then
   echo “MySQL is currently not running and will be restarted!” | mail -s “MySQL may have crashed” -r [email protected] to@dingxuan.info
   service mysqld restart
else
   echo “Running”
fi
加入crontab
*/5 * * * * /root/mysql_monitor.sh
方法二
比前一种更简洁。首先,可以测试一下数据库运行状态。mysqld 或者mariadb
/sbin/service mysqld status
echo $?
如果返回值不是0,说明运行状态异常。所以可以用这个作为判断依据,来控制是否执行启动命令。
/sbin/service mysqld status || service mysqld start
加到crontab里,每分钟运行一次。
* * * * * /sbin/service mysqld status || service mysqld start
延伸:测试apache运行状态
同理,要测试如无法访问某网址,则重启apache:
*/2     *       *       *       *       wget -q dingxuan.info || service httpd restart

部署病毒及恶意脚本检测程序 Rkhunter / ClamAV / LMD

部署三个检测工具rkhunter,ClamAV及Linux Malware Detect (LMD)。分别用于rootkit和恶意脚本检测。
1.ClamAV
yum install clamav clamav-update clamav-scanner-systemd clamav-server-systemd
yum install clamav
sudo sed -i -e “s/^Example/#Example/” /etc/freshclam.conf
sudo sed -i -e “s/^Example/#Example/” /etc/clamd.d/scan.conf
freshclam
clamscan -r -i /var/www/html
2.Rkhunter
yum install rkhunter
rkhunter –propupd
rkhunter -u
rkhunter –checkall
cat /var/log/rkhunter/rkhunter.log | grep -i warning
3.LMD
tar -xvf maldetect-current.tar.gz
cd maldetect-1.4.2
./install.sh
vim /usr/local/maldetect/conf.maldet
/usr/local/maldetect/conf.maldet 典型配置:
email_alert=1
email_subj=”Malware alerts for $HOSTNAME – $(date +%Y-%m-%d)”
quar_hits=1
quar_clean=1
clam_av=1
maldet -u
maldet –scan-all /var/www/html

后续:日常检查 / crontab设置

maldet -u
freshclam
rkhunter -u
rkhunter –propupd
rkhunter –sk –checkall
maldet –scan-all /var/www/html