都是在网上找到,然后自己整理了一下。
#!/usr/bin/env bash
##############################################################################
#
# Tomcat monitor
# 2016-08-16 lpe234
#
# monitor every 5 minutes
# crontab -e
# */5 * * * * /root/scripts/monitor_tomcat.sh >> /root/scripts/monitor_tomcat.log 2>&1
#
# chmod 700 /root/scripts/monitor_tomcat.sh
##############################################################################
now=`date '+%Y-%m-%d %H:%M:%S'`
# define process name
process_names="tomcat_a tomcat_b"
ta_process_count=1
ta_process_number()
{
ta_number=`ps aux | grep ${ta_process_name} | grep -v grep | wc -l`
return ${ta_number}
}
for ta_process_name in ${process_names}
do
ta_process_number
ta_num=$?
if [ ${ta_num} -lt ${ta_process_count} ]
then
echo "[$now] [ERROR] '$ta_process_name' process_number is $ta_num, restart it."
# restart it
sudo -u ${ta_process_name} sh /usr/${ta_process_name}/bin/startup.sh
# else
# echo "[$now] [DEBUG] '$ta_process_name' process_number is $ta_num, status ok."
fi
done
#!/usr/bin/env bash
#####################
# backup database && delete backup 7 days ago
#####################
# crontab -e
# 0 3 * * * /root/scripts/backup_db.sh > /dev/null 2>&1
cd /mnt/sdc/db_back
# do backup
for DB_NAME in 'db-1' 'db-2'
do
DB_FILE_NAME=${DB_NAME}-`date +%Y%m%d_%H%M%S`
mysqldump -uroot ${DB_NAME} > ${DB_FILE_NAME}.sql
tar -zcvf ${DB_FILE_NAME}.sql.tar.gz ${DB_FILE_NAME}.sql
rm -rf ${DB_FILE_NAME}.sql
done
# delete old backup
find . -mtime +7 -exec rm -rf {} \;
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有