Linux 多台服务器管理笔记

原创文章5年前 (2019)发布 fdadmin
3,550 1 0
1、建立信任关系
   1-1、取消yes 确认,先 ssh -o "StrictHostKeyChecking no" username@password 链接,然后输入密码,连接后执行exit退出远程服务器。
   1-2、SSH 互信的配置非常简单,首先生成 ssh key::ssh-keygen
   1-3、把 public key 拷贝到信任方中:ssh-copy-id -i ~/.ssh/id_rsa.pub username@hostname 如:
        ssh-copy-id -i ~/.ssh/id_rsa.pub  weblogic@10.100.10.104
2、服务器启动脚本
   2-1、改写我之前写的服务器脚本并放入相应的服务器
   2-2、编写服务器杀进程脚本
        #这个是杀掉所以java 进程 
        #sbin/bin
        ps -ef|grep LOCAL=NO|grep -v grep|cut -c 9-15|xargs kill -9 java &
   2-3、远程执行启动脚本
        2-3-1、远程一台服务器:ssh weblogic@10.100.10.104 "cd /home/weblogic ; ./ tt104.sh"
        2-3-2、一键启动多台服务器:
              笨方法一键启动所有服务
                脚本命令如下:
                #!/bin/sh
                #这里时注释部分
                #set -x 
                #USER_NAME=`weblogic`
                #SCRIPT_DIR=`weblogic1`
                export LANG=zh_CN.UTF-8
                if [ `whoami` != 'weblogic' ]; then
                echo '用户登录错误,请使用weblogic用户化执行!'
                exit 9
                fi

                #设置变量
                set sshhome=/home/weblogic
                export username=weblogic
                set sshx=tt104.sh
                export IP1=10.100.10.104
                export IP2=10.100.10.105
                export IP3=
                export IP4=
                
                #104 服务器
                ssh $username@$IP1 "cd /home/weblogic ; sh tt104.sh"
                #105 服务器
                ssh $username@$IP2 "cd /home/weblogic ; sh tt104.sh "

-----------------------------------------------------------------------------------------------------------------------------------------
扩展:
    一、文件和目录拷贝
        1、文件远程拷贝:scp 文件名 username@hostname:/拷贝到哪个路径下,如:scp tt weblogic@192.168.1.222:/home/weblogic
        2、文件夹及下目录远程拷贝:    scp -r 文件名 username@hostname:/拷贝到哪个路径下,如:scp -r tt weblogic@192.168.1.222:/home/weblogic
    二、远程执行命令:ssh username@hostname "cd 要进入的目录  ; 要执行的命令"
    三、参考链接:
        1、建立信任
            http://www.jb51.net/article/119541.htm
        2、远程命令:
            http://www.jb51.net/article/64229.htm
            http://www.cnblogs.com/ilfmonday/archive/2013/11/15/ShellRemote.html            
        
-------------------------------
这是批量启动,自己一后慢慢研究
-------------------------------
#!/bin/bash

#变量定义    
ip_array=("10.100.10.104" "10.100.10.105")    
user="weblogic"    
remote_cmd="/home/weblogic/tt104.sh"    
    
#本地通过ssh执行远程服务器的脚本    
for ip in ${ip_array[*]}    
do    
    if [ $ip = "192.168.1.1" ]; then    
        port="22"    
    else    
        port="22"    
    fi    
    ssh -t -p $port $user@$ip "remote_cmd"    
done  
© 版权声明

相关文章

1 条评论

  • TechFD_Blog
    TechFD_Blog 管理员

    体验一下。

    中国陕西西安市 电信
    回复