维护CentOS6.2下的一些常用脚本之二

原创 2012年03月22日 18:06:34

服务器监控的一些代码,备份,学习,待优化用#脚本


1,监控数据库的Processlist,超过5条不为空的记录则打印输出,CTRL+C退出

#/bin/sh
# usage:
# bash filename 

export MYSQLBIN=/usr/local/mysql/bin
export MYSQLHOST='localhost'
export MYSQLPORT=3336
export MYSQLUSER=root
export MYSQLPSWD='********'
export TMPFILE=/tmp/mysqlstatus.dump.txt
export ty=20

echo ■■■■■■ ${MYSQLBIN}/mysql  》FOR Show Processlist ※※※※※※※※※※※※※※※※※※※※

while [ "1" -eq "1" ]
do

        export CURRENTTIME=`date +%T`

        echo START------------ $CURRENTTIME >$TMPFILE

        $MYSQLBIN/mysql -u$MYSQLUSER -p$MYSQLPSWD \
            --host $MYSQLHOST -P$MYSQLPORT \
            -e "show processlist" >> $TMPFILE

         sed -i -e '/NULL/d' $TMPFILE

        export LINES=`wc -l $TMPFILE | awk '{print $1}'`

        LINES=$[LINES -2]
        echo END-------------- $LINES >>$TMPFILE
        echo  >>$TMPFILE

        if [ "$LINES" -gt "5" ]
        then
                cat $TMPFILE
        else
                ty=$[ty+1]

                if [ "$ty" -gt "20" ]
                then
                        export ty=0
                        echo
                        echo -n "$CURRENTTIME : "
                fi

                echo -n "$LINES | "

                sleep 3
        fi


        sleep 3

done


#2,清除QMAIL的邮件队列,不清楚为啥加入任务计划就不执行,手动执行又没问题。其中grep -v fix_qmail是排除自身的文件名:

####################################################
#            Clear Qmail's queue
#
#                        --Ecen.thq 2011.11.02
####################################################
#!/bin/bash
clear
echo
echo clear mail queue
echo ===============================================
echo `date +%Y/%m/%d-%H:%M:%S`
echo
/etc/init.d/igenus-qmail stop

ps aux|grep qmail|grep -v fix_qmail|awk '{print $2}'|xargs kill -9

mv /var/qmail/queue /var/qmail/queue_bak`date "+%m%d"`

mkdir /var/qmail/queue

/var/qmail/bin/queue-fix /var/qmail/queue

/etc/init.d/igenus-qmail start

echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ps -aef|grep qmail
echo ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ " ps -aef|grep qmail "

echo  `date +%Y/%m/%d-%H:%M:%S` >> qmail_fix.log

echo
echo =================over=================

#3,mysql每日备份的脚本

#!/bin/sh
# mysql_backup.sh: backup mysql databases and keep newest 5 days backup.
#
# ----------------------------------------------------------------------

# your mysql login information
# db_user is mysql username
# db_passwd is mysql password
# db_host is mysql host
# -----------------------------
db_user="root"
db_passwd="********"
db_host="localhost"

# the directory for story your backup file.
backup_dir="/backup/mysql/"

# date format for backup file (dd-mm-yyyy)
time="$(date +"%M-%H-%d-%m-%Y")"

# mysql, mysqldump and some other bin's path
MYSQL="mysql"
MYSQLDUMP="mysqldump"
MKDIR="mkdir"
RM="rm"
MV="mv"
GZIP="gzip"

# check the directory for store backup is writeable
test ! -w $backup_dir && echo "Error: $backup_dir is un-writeable." && exit 0


# the directory for story the newest backup
test ! -d "$backup_dir/backup.0/" && $MKDIR "$backup_dir/backup.0/"


# get all databases
all_db="$($MYSQL -u $db_user -h $db_host -p$db_passwd -Bse 'show databases')"


for db in $all_db
do
        $MYSQLDUMP -u $db_user -h $db_host -p$db_passwd $db | $GZIP -9 > "$backup_dir/backup.0/$time.$db.gz"
done


# delete the oldest backup
test -d "$backup_dir/backup.5/" && $RM -rf "$backup_dir/backup.5"


# rotate backup directory
for int in 4 3 2 1 0
do
        if(test -d "$backup_dir"/backup."$int")
        then
                next_int=`expr $int + 1`
                $MV "$backup_dir"/backup."$int" "$backup_dir"/backup."$next_int"
        fi
done


exit 0;



CentOS6.2下配置foreman1.0

  • 2014年04月25日 16:48
  • 3KB
  • 下载

centos minimal 常用工具yum安装脚本

  • 2013年11月18日 15:24
  • 514B
  • 下载

CentOS6.2下一步一步源代码安装OpenStack(十)Swift测试

创建endpoint Keystone源码中的创建脚本中并不会创建swift的endpoint,因此还需要手动创建一个: [plain] view plaincopy ...

CentOS6.2下一步一步源代码安装OpenStack(一)操作系统准备

更新:5月3日,添加安装计算节点的说明(蓝色字体) OpenStack的essex正式版终于发布了,但是要想在CentOS下通过yum安装估计还得等上一段时间,因此不妨我们来一起通过源代码安装O...
  • ugyn109
  • ugyn109
  • 2012年04月18日 22:57
  • 11960

CentOS6.2下一步一步源代码安装OpenStack(十)Swift测试

创建endpoint Keystone源码中的创建脚本中并不会创建swift的endpoint,因此还需要手动创建一个: keystone service-list keystone endp...
  • ugyn109
  • ugyn109
  • 2012年08月27日 12:49
  • 2750

CentOS6.2下一步一步源代码安装OpenStack(六)horizon配置、运行、测试

更新:5月4日;添加noVNC的配置 1配置 1.1创建配置文件: [ugyn@cc ~]$ vim install/horizon-2012.1/openstack_dashboard/l...
  • ugyn109
  • ugyn109
  • 2012年04月22日 21:31
  • 6587

在centos6.2下编译gcc4.7

前两天买了C++标准库自学教程与参考手册第二版,里面介绍了C++11标准,所以需要一个支持大部分11标准的编译器,我的centos6.2下还是gcc4.4.7,需要将其升级到4.7,发现下面的方法很简...

centos 6.2下 源码安装mysql 5.5.22

centos 6.2下 源码安装mysql 5.5.22   1.  安装mysql 相关依赖库(没有的话就安装,有就不用安装了)   通过 rpm -qa | grep name 的方式验...
  • hittata
  • hittata
  • 2012年07月05日 15:32
  • 2778

CentOS6.2下fastDFS的完整安装和配置步骤

CentOS6.2下fastDFS的完整安装和配置步骤 centos6.2系统下安装配置FastDFS步骤: 1:安装libevent(libevent-2.0.16-stable) ...

CentOS6.2下jdk-7u2-linux-i586.tar.gz的安装方法

安装Tizen SDK的安装需要以下环境: Prerequisites Sun Java v6 or higher version (do not use OpenJDK) qemu-kvm, ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:维护CentOS6.2下的一些常用脚本之二
举报原因:
原因补充:

(最多只允许输入30个字)