Linux & Tomcat

2018-07-25  本文已影响24人  0x5947

免密登录(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
上一篇下一篇

猜你喜欢

热点阅读