1. apache服务器监控
[root@localhost ~]# vim apacheSentry.sh
#!/bin/bash
# author: wy_kvk
# description: sendtry apache http server
# 用于判断httpd是否启动
port=$(nmap -sT 192.168.114.135 | grep tcp | grep http | awk '{print $2'})
if [ "$port" == "open" ]
then
echo "$(date) httpd is running" >> /tmp/httpd-sendtry-acc.log
else
/etc/rc.d/init.d/httpd restart &> /dev/null
echo "$(date) httpd reboot!!" >> /tmp/httpd-sendtry-err.log
fi
”>"和“2>" 这两个的结合体就是 ”&>"
2. 数据库定时备份
[root@localhost sh]# vim dbbak.sh
#!/bin/bash
# author: wy_kvk
# description: 用于定时备份数据库
BAK_DIR=/data/db-backup/$(date +%Y%m%d)
DB_NAME="webserver"
DB_USER="root"
DB_PWD="123456"
MYSQL_DUMP_CMD=/usr/bin/mysqldump
if [ $UID -ne 0 ];then
echo "请使用root用户执行";
exit;
fi
if [ ! -d $BAK_DIR ];then
mkdir -p $BAK_DIR
echo -e "$BAK_DIR 创建成功"
else
echo -e "$BAK_DIR 目录已存在"
fi
$MYSQL_DUMP_CMD -u$DB_USER -p$DB_PWD $DB_NAME > $BAK_DIR/$DB_NAME.sql
if [ $? -eq 0 ];then
echo -e "数据库备份成功"
else
echo -e "数据库备份失败,请检查备份脚本"
fi
exit
3. 使用shell脚本发送邮件
该例使用sendmail发送邮件,如果没有安装,可以使用如下命令先安装
#安装
yum install sendmail
#启动服务
#service sendmail start
#!/bin/bash
# author wy_kvk
email_header="Subject: 系统信息\nTo: lisensir@163.com"
email="$email_header\ntomcat服务器正常运行,日期:$(date '+%Y-%m-%d %H:%M:%S')"
echo -e "$email" | sendmail -t
注意: -e参数不能丢,否则不会讲\n解析为换行