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
    
    
    
    
    
    
  • 相关阅读:
    渗透测试-内网渗透笔记
    渗透测试-信息搜集笔记
    Mysql注入笔记
    XSS漏洞理解
    tomcat服务器配置及加固
    python3基础学习笔记
    http.sys远程代码执行漏洞(MS15-034)
    Map and Set(映射和集合)
    防抖 | 节流
    for循环中的闭包
  • 原文地址:https://www.cnblogs.com/pansn/p/13801283.html
Copyright © 2011-2022 走看看