zoukankan      html  css  js  c++  java
  • 常用基础脚本

    添加用户脚本

    
    #!/bin/bash
    #添加自定义用户,密码为随机密码,并保存到指定文件中,同时做备份
    DATE=`date +%F-%T`
    USER_FILE=/tmp/user.txt
    
    echo_color() {
            if [ $1 == "green" ]
            then
                    echo -e "33[32;40m$233[0m"
            else
                    echo -e "33[31;40m$233[0m"
            fi
    
    }
    
    if [ -s $USER_FILE ]
    then
            mv $USER_FILE ${USER_FILE}-${DATE}.bak
            echo_color green "$USER_FILE exist,rename ${USER_FILE}-${DATE}.bak"
    fi
    
    for USER in $1
    do
            if ! id $USER &>/dev/null
            then
    
                    useradd -m -s /bin/bash $USER
                    PASS=`echo $RANDOM | md5sum | cut -c 1-8`
                    echo $PASS | passwd --stdin $USER &> /dev/null
                    if [ $? -ne 0 ]
                    then
    
                            echo -e "$USER User create fail"
                    else
                            echo -e "$USER User create successful."
                            echo -e "User   Password" >> $USER_FILE
                            echo "----------------" >> $USER_FILE
                            echo "$USER $PASS" >>$USER_FILE
    
                    fi
              else
                    echo "$USER is exit"
                fi
            done
    if [[ ! -n "$1" ]]
    then
        echo -e "Execution of the script error, please follow the example to run the script: 
    Example: 'sh $0 nginx'"
    fi
    
    

    扫描主机存活脚本

    
    
    #!/bin/bash
    #扫描主机存活,并将扫描结果生成文本
    . /etc/init.d/functions
    for i in {1..50}
    do
            ip=172.21.134.${i}
            ping -c2 -w2 $ip >/dev/null 2>&1
            if [ $? -ne 0 ]
            then
                    action "$ip" /bin/false
                    echo "$ip" >>/tmp/ipdown.txt
            else
                    action "$ip" /bin/true
                    echo "$ip" >> /tmp/ipup.txt
            fi
    done
    
    

    实现MySQL数据库库备份

    #!/bin/bash
    #实现分库备份mysql
    user=root
    read -p "Please enter your password:" pass
    MYCMD="mysql -u$user -p$pass"
    MYDUMP="mydump -u$user -p$pass -x -B -F -R"
    DBLIST=`$MYCMD -e "show databases;" | sed "1,2d" | egrep -v "_schema | mysql "`
    
    for database in $DBLIST
    do
    	$MYDUMP $database | gzip > /tmp/${database}_$(date +%F).sql.gz &>/dev/null
    done
    

    实现MySQL数据库表备份

    #!/bin/bash
    user=root
    read -p "please enter your password:" pass
    MYCMD="mysql -u$user -p$pass"
    MYDUMP="mysqldump -u$user -p$pass -x -F -R"
    DBLIST=`$MYCMD -e "show databases;" | sed '1,2d' | egrep -v "_shema | mysql"`
    for db in $DBLIST
    do
      tablist=`$MYCMD -e "show tables from $db;" | sed 1d`
         for table in $tablist
         do
           mkdir -p /tmp/${db}
           $MYDUMP $db $table | gzip > /tmp/${db}/${table}_${date +%F}.sql.gzip
         done
    done
    
    

    判断程序是否正常运行

    #!/bin/bash
    #通过端口
    . /etc/init.d/functions
    
    port=`lsof -i:80 | grep nginx | wc -l`
    if [ $port -ge 2 ]
    then
    	action "nginx is running" /bin/true
    else
    	action "nginx is not running" /bin/false
    	/usr/local/nginx/sbin/nginx
    	action "starting nginx" /bin/true
    fi
    
    #!/bin/bash
    #通过进程
    . /etc/init.d/functions
    
    port=`ps -ef| grep nginx | grep -v grep | wc -l`
    
    if [ $port -ge 2 ]
    then
    	action "nginx is running" /bin/true
    else
    	action "nginx is no running" /bin/false
    	/usr/local/nginx/sbin/nginx
    	action "starting nginx" /bin/true
    fi
    
    #!/bin/bash
    #wget返回内容
    . /etc/init.d/functions
    
    port=`wget -T 5 --spider http://172.18.12.2 &>/dev/null`
    
    if [ $port -ne 0 ]
    then
    	/usr/local/nginx/sbin/nginx
    	action "starting nginx" /bin/true
    else
    	echo "nginx is no running" /bin/false
    fi
    
    #!/bin/bash
    #返回状态码200判断
    . /etc/init.d/functions
    
    port=`curl -s -I -w "%{http_code}
    "` 172.18.12.2 -o /dev/null
    if [ "$port" == "200" ];then
    	action "nginx is running" /bin/true
    else
    	/usr/local/nginx/sbin/nginx
    	action "starting nginx" /bin/true
    fi
    
    
    
    
    
    
  • 相关阅读:
    HDU 5486 Difference of Clustering 图论
    HDU 5481 Desiderium 动态规划
    hdu 5480 Conturbatio 线段树 单点更新,区间查询最小值
    HDU 5478 Can you find it 随机化 数学
    HDU 5477 A Sweet Journey 水题
    HDU 5476 Explore Track of Point 数学平几
    HDU 5475 An easy problem 线段树
    ZOJ 3829 Known Notation 贪心
    ZOJ 3827 Information Entropy 水题
    zoj 3823 Excavator Contest 构造
  • 原文地址:https://www.cnblogs.com/pansn/p/13801283.html
Copyright © 2011-2022 走看看