几个脚本

都是在网上找到,然后自己整理了一下。

Tomcat 监控脚本

#!/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

MySQL 数据库定时备份

#!/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 {} \;

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • confd基本使用--Nginx配置自动化

    confd支持两次操作模式:守护或仅一次。在守护模式下,confd会轮询后端的修改并在必要时对目的配置文件进行更新。

    lpe234
  • Selenium 学习

    官方教程: http://selenium-python.readthedocs.org/

    lpe234
  • 当你在`bind 0.0.0.0`的时候,你实际在做什么

    如上面的 TCP *:5000 (LISTEN) 中 * 便表示 0.0.0.0。在这种情况下,他是一个缺省的路由绑定。

    lpe234
  • 学习-用Python和Pygame写游戏-从入门到精通(6)

    本文干货很多,so给一个传送门,咱们就不搬砖了。http://python.jobbole.com/83523/

    十四君
  • 日本工业机器人挥刀 刀法准过著名剑客

    日本在机器人技术上的领先时众所周知的,但到底有多先进呢?不仅可以拉小提琴、演舞台剧,还能做饭、打球。日前,日本安川电机公司发明了一款名为“MH24”的机器人,模...

    机器人网
  • 案例:python中实现51备忘录

    1.添加Memo类,至少包含id,name,thing,date四个属性,date可以暂时使用字符串表示,比如‘1.2’,‘3.8’,暂时不用考虑时间相关模块

    py3study
  • cfE. Ehab and a component choosing problem(贪心)

    证明:因为我们是在保证分数最大的情况下才去最大化\(k\),一个很经典的结论是单独选择一个权值最大的联通块得到的分数一定是最大的,然后我们这时我们才去考虑最大化...

    attack
  • yii2.0里跨控制器跳转方法

    $control=Yii::app()->runController('site/show/id/2');

    botkenni
  • 深度相机Astra Pro测试教程

    最近在微信群内,很多群友在群友的推荐下,购买了Astra pro的深度相机,价格地道,物超所值!群友反馈积极,所以这里出一波简单的教程。以下内容抛砖引玉,主要讲...

    点云PCL博主
  • yii2.0里跨控制器跳转方法

    $control=Yii::app()->runController('site/show/id/2');

    botkenni

扫码关注云+社区

领取腾讯云代金券