zoukankan      html  css  js  c++  java
  • jar包-循环遍历-开机启动服务-微服务-多项目拷贝-pid杀死进程-mysql备份脚本-防火墙检测脚本-海云镜像转换脚本

    vi /root/serverkaiji.sh

    #!/bin/bash
    ls /tlvnksc/ | egrep -v "^c|^f" > /root/service.list
    for name in $(more /root/service.list)
    do
    workhome=/tlvnksc/${name}/
    workjar=${workhome}${name}.jar
    nohup java -jar ${workjar} > ${workhome}spring.log &
    done
    [root@localhost ~]# cat /root/service.list
    dygaeureka
    dygazuul

    cp serverkaiji.sh stopserverkaiji.sh

    vi stopserverkaiji.sh

    #!/bin/bash
    ls /tlvnksc/ | egrep -v "^c|^f" > /root/service.list
    for name in $(more /root/service.list)
    do
    pid=`ps -ef|grep ${name}.jar|grep -v 'grep' | awk '{print $2}'`
    kill -9 $pid
    done

     chmod 700 serverkaiji.sh

    vi /usr/lib/systemd/system/jar-server.service

    [Unit]
    Description=jar
    After=network.target remote-fs.target nss-lookup.target
    
    [Service]
    Type=forking
    ExecStart=/root/serverkaiji.sh
    ExecStop=/root/stopserverkaiji.sh [Install] WantedBy
    =multi-user.target

    systemctl enable jar-server.service

    systemctl status jar-server.service

     systemctl stop jar-server.service
     systemctl start jar-server.service

    参考

    https://www.cnblogs.com/feixiablog/p/8426881.html

    多目录遍历拷贝

    vi /testlvnksc/cpxm.sh

    #!/bin/bash
    for name in $(more /root/service.list)
    do
    /testlvnksc/fabu.sh ${name}
    done

    vi /testlvnksc/fabu.sh

    #!/bin/bash
    A=$1
    cp -r dygaeureka $A
    sed -i 's/dygaeureka/'$A'/g' $A/deploy.sh
    cat $A/deploy.sh

    ls /testlvnksc/dygaeureka

    vi /root/service.list

    a b

    https://www.bilibili.com/video/av68396271?p=2

    mysql备份脚本

    sudo crontab -l

    0 * * * * sh /root/databak.sh

    vi /root/databak.sh

    #!/bin/bash
    date=$(date +%Y%m%d%H%M%S)
    /opt/mysql/mysql-5.7.26-el7-x86_64/bin/mysqldump -uroot -p'xxx' -A > /root/$date-192.168.1.135.sql
    if [ $? -eq 0 ];then
    echo “数据库备份完成”
    scp /root/$date-192.168.1.135.sql 192.168.1.112:/data/rsyncdata/databak/
    sleep 4
    echo “远程备份完成”
    rm -rf /root/$date-192.168.1.135.sql
    fi

     rsync服务端日志打包删除旧包数据

    sudo tar cfz /data/date-databak.tar.gz /data/rsyncdata/databak #测试打包
    sh /data/tar-dabao.sh #测试任务
    crontab -e
    0 0 * * *
    vi tar-dabao.sh
    #!/bin/bash
    date=$(date +%Y%m%d%H%M)
    sudo tar cfz /data/rsyncdata/$date-databak.tar.gz /data/rsyncdata/databak
    sleep 4
    rm -rf /data/rsyncdata/databak/*

     防火墙规则检测不存在这插入

    vi iptables.sh

    #!/bin/sh
    function admin() {
    status=$(iptables -nvL | grep 192.168.100.118 | wc -l)
    if [ $status -eq 0 ];
    then
    iptables -I INPUT -s 192.168.100.118 -j ACCEPT
    echo "防火墙设置完成"
    else
    echo "防火墙已经设置过了"
    exit 0;
    fi
    }
    
    function admin2() {
    status=$(iptables -nvL | grep 192.168.100.119 | wc -l)
    if [ $status -eq 0 ];
    then
    iptables -I INPUT -s 192.168.100.119 -j ACCEPT
    echo "防火墙设置完成"
    else
    echo "防火墙已经设置过了"
    exit 0;
    fi
    }
    echo "设置防火墙通过100.119"
    admin2
    echo "设置防火墙通过100.118"
    admin

     海云镜像转换脚本

    #/bin/bash
    # 转换镜像
    function zhjingxiang() {
    jxname="$jx"
    qemu-img convert -f vmdk -O raw $jxname.vmdk $jxname.raw
    
    if [ $? -eq 0 ];
    then
    echo "$jxname.vmdk 镜像转换成功"
    else
    echo "$jxname.vmdk 镜像转换失败"
    exit 0;
    fi
    }
    # 查询虚拟机对应 硬盘uuid
    function chaxhd() {
    hduuid=`cinder list --all | grep $xnuuid | awk '{print $2 ,$10}'`
    echo " $hduuid "
    }
    #替换指定的硬盘号
    function rhd() {
        
    rbd ls volumes | grep $ruuid
    rbd rm volumes/volumes-$ruuid
    echo "删除硬盘文件成功"
    rbd import $jxname.raw volumes/volumes-$ruuid
    echo "导入硬盘文件成功"
    }
    
    read -p "请输入需要转换的镜像名 注意不带格式:" jx
    zhjingxiang
    source /etc/kolla/openrc
    read -p "请输入需要查询的虚拟机uuid:" xnuuid
    chaxhd
    read -p "请输入需要替换的硬盘uuid:" ruuid
    rhd
    
    echo "正在删除转换后的$jxname.raw 镜像 请稍等......"
    rm $jxname.raw
  • 相关阅读:
    linux下运行、停止jar包
    .net开发CAD2008无法调试的解决方法
    【转】C#获取当前程序运行路径的方法集合
    如何在arcmap中调试addin或者插件
    【转】WriteMessage的信息在AutoCAD中命令行中实时显示
    ArcGIS10的附件功能
    CAD调试时抛出“正试图在 os 加载程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内运行托管代码”异常的解决方法
    [转]Tesseract 3.02中文字库训练
    Truncated incorrect DOUBLE value
    tomcat无故停止
  • 原文地址:https://www.cnblogs.com/zsl-find/p/11713744.html
Copyright © 2011-2022 走看看