• centos7 lvm合并分区脚本初探-linux性能测试 -centos7修改网卡名字-jdk环境安装脚本-关键字查询文件-批量添加用户


    1.
    #!/bin/bash lvmdiskscan | grep centos > /root/a.txt a=`sed -n '1p' /root/a.txt` b=`sed -n '2p' /root/a.txt` c=`sed -n '3p' /root/a.txt` cat <<eof ** 1. 分区 $a** ** 2. 分区 $b** ** 3. 分区 $c** eof

    2完成版centos分区合并

    #!/bin/bash
    lvmdiskscan | grep centos > /root/a.txt
    cat /root/a.txt | while read ips;
    do
    a1=`echo $ips|awk '{ print $1 }'`
    a2=`echo $ips|awk '{ print $3 }'`
    a3=`echo ${a2%.*}`
    echo $a1
    echo $a3
    done
    read -p "remove lv: " remove2
    read -p "add lv: " add2
    read -p "big : " big
    rmfstab=`echo ${remove2##*/}`
    addlvname=`echo ${add2##*/}`
    addlvtype=`blkid | grep $addlvname | awk -F "[""]" '{print $4}'`
    umount $remove2
    lvremove $remove2
    lvextend -L +"$big"G $add2
    # 变量记得加双引号
    if [[ $addlvtype == xfs ]] ;then
    # 根据字符串判断
    xfs_growfs $add2
    else
    resize2fs $add2
    fi
    sed -i "/"$rmfstab"/d" /etc/fstab
    # 删除移除lv开机挂载 注意使用时删除注释内容
    mount -a

    参考https://www.cnblogs.com/flintlovesam/p/6677037.html

    https://www.cnblogs.com/keanuyaoo/p/3359838.html

    ${file#*/}:删掉第一个 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt
    ${file##*/}:删掉最后一个 /  及其左边的字符串:my.file.txt
    ${file#*.}:删掉第一个 .  及其左边的字符串:file.txt
    ${file##*.}:删掉最后一个 .  及其左边的字符串:txt
    ${file%/*}:删掉最后一个  /  及其右边的字符串:/dir1/dir2/dir3
    ${file%%/*}:删掉第一个 /  及其右边的字符串:(空值)
    ${file%.*}:删掉最后一个  .  及其右边的字符串:/dir1/dir2/dir3/my.file
    ${file%%.*}:删掉第一个  .   及其右边的字符串:/dir1/dir2/dir3/my


    记忆的方法为:

    复制代码 代码如下:

    # 是 去掉左边(键盘上#在 $ 的左边)
    %是去掉右边(键盘上% 在$ 的右边)
    单一符号是最小匹配;两个符号是最大匹配
     
    其他脚本方式参考
    https://www.cnblogs.com/out8/p/4353017.html
     
    centos7 性能测试
    #! /bin/bash
    #==============================================================#
    #   Description:  Unixbench script                             #
    #   Author: Teddysun <i@teddysun.com>                          #
    #   Intro:  https://teddysun.com/245.html                      #
    #==============================================================#
    cur_dir=/opt/unixbench
    
    # Check System
    [[ $EUID -ne 0 ]] && echo 'Error: This script must be run as root!' && exit 1
    [[ -f /etc/redhat-release ]] && os='centos'
    [[ ! -z "`egrep -i debian /etc/issue`" ]] && os='debian'
    [[ ! -z "`egrep -i ubuntu /etc/issue`" ]] && os='ubuntu'
    [[ "$os" == '' ]] && echo 'Error: Your system is not supported to run it!' && exit 1
    
    # Install necessary libaries
    if [ "$os" == 'centos' ]; then
        yum -y install make automake gcc autoconf gcc-c++ time perl-Time-HiRes
    else
        apt-get -y update
        apt-get -y install make automake gcc autoconf time perl
    fi
    
    # Create new soft download dir
    mkdir -p ${cur_dir}
    cd ${cur_dir}
    
    # Download UnixBench5.1.3
    if [ -s UnixBench5.1.3.tgz ]; then
        echo "UnixBench5.1.3.tgz [found]"
    else
        echo "UnixBench5.1.3.tgz not found!!!download now..."
        if ! wget -c https://dl.lamp.sh/files/UnixBench5.1.3.tgz; then
            echo "Failed to download UnixBench5.1.3.tgz, please download it to ${cur_dir} directory manually and try again."
            exit 1
        fi
    fi
    tar -zxvf UnixBench5.1.3.tgz && rm -f UnixBench5.1.3.tgz
    cd UnixBench/
    
    #Run unixbench
    make
    ./Run
    
    echo
    echo
    echo "======= Script description and score comparison completed! ======= "
    echo
    echo

    lvm 扩容分区

       41  /sbin/fdisk /dev/sda
       49  partprobe #同步分区表到硬盘
       50  ls /dev/sda*
       51  pvcreate /dev/sda3
       52  vgs
       53  vgextend centos /dev/sda3
       54  vgs
       55  lvs
       56  df -h
       57  vgs
       58  lvextend -L +200G /dev/mapper/centos-root
    xfs_growfs /dev/mapper/centos-root #扩容真实大小

     修改网卡名字脚本 ip和网关 网卡名字 记得修改

    #!/bin/bash
    NETIP=192.168.120.72
    NETGATWAY=192.168.120.1
    # 用不到HOSTNAME=dockercang.cn
    DNS1=223.5.5.5
    ethold=ens192
    
    cat << EOF
    +------------------------------------------------------------------+
    |     **********  Welcome to CentOS 7.x Rename Network  **********    |
    +------------------------------------------------------------------+
    EOF
    [ `whoami` != "root" ] && echo "please use root" && exit 1
    function format() {
        echo -e "33[32m Success!!!33[0m
    "
        echo "#########################################################"
    }
    
    echo "修改配置文件"
    rm -rf /etc/sysconfig/network-scripts/ifcfg-$ethold
    cat > /etc/sysconfig/network-scripts/ifcfg-eth0 << EOF
    TYPE=Ethernet
    BOOTPROTO=none
    NAME=eth0
    DEVICE=eth0
    ONBOOT=yes
    IPADDR=$NETIP
    PREFIX=24
    GATEWAY=$NETGATWAY
    DNS1=$DNS1
    EOF
    format
    
    echo "编辑内核信息"
    cat > /etc/sysconfig/grub << EOF
    GRUB_TIMEOUT=5
    GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
    GRUB_DEFAULT=saved
    GRUB_DISABLE_SUBMENU=true
    GRUB_TERMINAL_OUTPUT="console"
    GRUB_CMDLINE_LINUX="crashkernel=auto rhgb net.ifnames=0 biosdevname=0 quiet"
    GRUB_DISABLE_RECOVERY="true"
    EOF
    format
    echo "生成启动菜单"
    grub2-mkconfig -o /boot/grub2/grub.cfg
    format
    reboot

     jdk安装脚本

    #!/bin/bash
    wget http://192.168.130.150/jdk/jdk-8u211-linux-x64.tar.gz
    tar xf jdk-8u211-linux-x64.tar.gz -C /usr/local/
    echo "export JAVA_HOME=/usr/local/jdk1.8.0_211" >> /etc/profile.d/jdk8.sh
    echo "export CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/jar/tools.jar:$JAVA_HOME/jre/lib" >> /etc/profile.d/jdk8.sh
    echo "export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH" >> /etc/profile.d/jdk8.sh
    echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib" >> /etc/profile.d/jdk8.sh

    chmod +x /etc/profile.d/jdk8.sh
    source /etc/profile.d/jdk8.sh
    java -version

     然后手动执行

    source /etc/profile.d/jdk8.sh

    关键字查询文件

    grep -rn "aaa" /root/
    grep -r "aaa" /root/
    grep -Rn "data_chushou_pay_info" *.py #根据关键字过滤

     批量添加用户

    vi adduser.sh

    #!/bin/bash
    for name in $(more users.list)
    do
    if [ -n "$name" ];then
    useradd -m $name
    echo
    echo $name"123456" | passwd --stdin "$name"
    echo
    echo "user $name's password change"
    else
    echo
    echo 'The username is null'
    fi
    done

    vi users.list

    Jason
    Miles
    James
    sh adduser.sh

    删除用户脚本

    #!/bin/bash
    userdel $1
    cd /home/
    rm -rf $1
    cd /var/spool/mail && rm -f $1

     另一种加用户方式

    #!/bin/sh
    for i in $(cat deyimingdan)
    do
    useradd $i
    echo $i | passwd --stdin $i
    chage -d 0 $i
            echo "$i        ALL=(ALL)       ALL" >> /etc/sudoers
    done
    chage -d 0 #表示密码立即过期需要修改密码
  • 相关阅读:
    C++: string的大小写转换
    c++自由的转换string和number
    C# 中的数据库操作~存储过程篇Mysql SqlServer
    Google Protocol Buffer Basics: C++
    C#中的扩展方法(向已有类添加方法,但无需创建新的派生类型)
    多态以及虚析构函数的使用
    【Java基础】String 相关知识点总结
    【设计模式】抽象工厂模式
    【设计模式】工厂方法模式
    【设计模式】简单工厂
  • 原文地址:https://www.cnblogs.com/zsl-find/p/10860761.html
Copyright © 2020-2023  润新知