美文网首页
Linux & Tomcat

Linux & Tomcat

作者: 0x5947 | 来源:发表于2018-07-25 16:57 被阅读24次

    免密登录(A -> B)

    1. 在A生成密钥对

    ssh-keygen -t rsa -P ""
    

    执行上述命令,一路回车,会在当前登录用户的home目录下的.ssh目录下生成id_rsaid_rsa.pub两个文件,分别代表密钥对的私钥和公钥。

    2. 拷贝A的公钥(id_rsa.pub)到B

    这里拷贝到Broot用户home目录下为例:

    scp /root/.ssh/id_rsa.pub root@192.168.1.200:/root
    

    3. 登录B

    拷贝A的id_rsa.pub内容到.ssh目录下的authorized_keys文件中

    cd /root
    cat id_rsa.pub >> .ssh/authorized_keys
    

    4. 此时在A中用SSH登录B或向B拷贝文件,不需要密码

    ssh root@192.168.1.201
    scp abc.txt root@192.168.1.201:/root
    

    5. 快捷操作

    ssh-copy-id -i ~/.ssh/id_rsa.pub root@服务器地址
    

    Tomcat shutdown.sh 不能关闭进程问题

    1. 修改catalina.sh

    找到 PRGDIR=`dirname "$PRG"` 这一行,在下面添加如下代码

    if [ -z "$CATALINA_PID" ]; then
        CATALINA_PID=$PRGDIR/CATALINA_PID
    fi
    

    2. 修改shutdown.sh

    文件的最后一行添加-force参数

    exec "$PRGDIR"/"$EXECUTABLE" stop -force "$@"
    

    自动更新其它机器Tomcat下项目

    将脚本文件放在服务器上授予可执行权限 chmod 777 auto-deploy.sh
    前提是已配置了免密码登录

    #!/bin/bash
    # host ip list
    list="ip1 ip2 ip3"
    for ip in $list
    do
        # shutdown Tomcat
        if [ "restart" = "$1" ];then
            echo shutdown $ip;
            ssh root@$ip "/data/tomcat80/bin/./shutdown.sh"
        fi
        # scp -30 minutes change files
        for file in $(find /data/tomcat80/webapps/ROOT/ -type f -cmin -30)
        do
            echo scp $file to $ip;
            pdir=$(dirname $file);
            ssh root@$ip "[ -d $pdir ] && echo ok || mkdir -p $pdir";
            scp $file root@$ip:${file//\$/\\\$};
        done
        # startup Tomcat
        if [ "restart" = "$1" ];then
            echo startup $ip;
            ssh root@$ip "/data/tomcat80/bin/./startup.sh"
        fi
    done

    相关文章

      网友评论

          本文标题:Linux & Tomcat

          本文链接:https://www.haomeiwen.com/subject/yyrpmftx.html