zoukankan      html  css  js  c++  java
  • shell

    # 备份库的命令
    mysqldump -uroot -p123 --single-transaction -B world > world_database.sql
    # 备份表的命令
    mysqldump -uroot -p123 --single-transaction world city > world_city.sql
    # 获取到所有的要备份库
    mysql -uroot -p123 -e "show databases;"|sed 1d|grep -v ".*_schema"
    # 进入固定的数据库,显示所有的表名
    mysql -uroot -p123 "use world;show tables;"|sed 1d
    
    #!/usr/bin/bash
    # 备份地址 mysql_dump/octivia/octivia_20190811.sql
    
    db_name=$(mysql -uroot -p123 -e "show databases;"|sed 1d|grep -v ".*_schema")
    
    for db in $db_name
    do
            # 准备备份的位置
            path=/mysql_dump/$i
            if [ ! -d $path ];then
                    mkdir -p /mysql_dump/$i
            fi
            # 备份数据库
            mysqldum -uroot -p123 --single-transaction -B $i > $path/${i}_database_$(date +%F).sql
            echo "$i 数据库备份完成"
            # 备份数据库中的每张表
            db_tables=$(mysql -uroot -p123 -e "use $i;show tables;"|sed 1d)
            # 批量备份数据库的表
            for tb in $db_tables
            do
                    mysqldump -uroot -p123 --single-transaction $db $tb > $path/${db}_${tb}_tables.sql
                    echo "备份的 $db 中的表 $tb , 成功"
            done
    done
    

    检查主从状态

    # 取出IO线程状态
    mysql -uroot -p123 -e "show slave statusG"|awk '/Slave_IO_Running/ {print $2}'
    mysql -uroot -p123 -e "show slave statusG"|awk '/Slave_SQL_Running/ {print $2}'
    if [ $IO == "Yes" ] && [ $SQL == "Yes" ];then
    	echo "normal"
    else
    	# 判断IO异常
    	if [ ! $IO == "Yes" ];then 
        	IO_ERR=$(mysql -uroot -p123 -e "show slave statusG"|awk '/Last_IO/')
        	echo -e "slave 连接异常 $IO_ERR"
    	fi
        # 判断SQL异常
        if [ ! $SQL == 'Yes' ];then
        	SQL_ERR=$(mysql -uroot -p123 -e "show slave statusG"|awk '/Last_SQL_Errno/ {print $2}')
            case $SQL_ERR in 
            	1007)
                	# 跳过错误一次
                    mysql -uroot -p123 -e "stop slave;set global sql_slave_skip_counter=1;start slave;"
    			   code=mysql -uroot -p123 -e "show slave statusG"|awk '/Last_SQL_Errno/ {print $2}'
                    if [ $code -eq 0 ];then
                    	echo "successfully"
                    else
                    	mysql -uroot -p123 -e "show slave statusG"|grep "Last_SQL" >/tem/sql_err.log
                        # 发邮件
                        mail -s "Mysql master slave sql error $(date +%F)" 1039880@qq.com < /tmp/sql_err.log
                    fi
                ;;
                1008)
                ;;
                1032)
                ;;
                *)
            esac
    

    while 循环

    i=0
    while [ $i -lt 10 ]
    do 
    	let i++
    done
    # 使用while 循环打印升序和降序,相加
    a=1
    b=10
    while [ $a -lt 11 ]
    do
    	sum=$(( $a+$b))
        echo $a + $b = $sum
        let a++
        let b--
    done
    

    使用while 读入文件,批量创建用户

    while read line
    do  
    	echo $line
    done
    
    #!/usr/bin/bash
    
    while read line
    do
    	id $line &>/dev/line
    	if [ $? -eq 0 ];then
    		echo"already exists"
    	else
    		name=$(echo $line|awk -F ":" '{print $1}')
    		pwd=$(echo $line|awk -F ":" '{print $2}')
    		adduser $name &>/dev/null
    		echo $pwd |passwd --stdin $name &>/dev/null
    		echo " $name create successfully"
    	fi
    done<user1.txt
    
    

    break, continue

    # break 结束当前循环,跳出本层循环
    # continue 忽略本次循环剩余的代码,直接进入下一次循环
    # exit 直接退出脚本
    

    命令总结

    # 远程拷贝
    scp mysql_slave_check.sh root@10.0.0.61:/script/shell06
    
  • 相关阅读:
    博士考试复习过程总结
    制作在Linux、Unix上以daemon方式启动Apusic的详细步骤(转)
    重开Blog
    给计算机的兄弟姐妹们补补身体→煲银耳粥
    被人夸成像设计师,高兴呐
    今天问题总结(Hibernate配置参数访问Oracle,Linux下的Apusic自启动)
    HDU ACM 1272 小希的迷宫
    Uva 10115 Automatic Editing
    HDU ACM 1162 Eddy's picture(MST)
    Uva 10474 Where is the Marble?(水题)
  • 原文地址:https://www.cnblogs.com/Afrafre/p/11405727.html
Copyright © 2011-2022 走看看