shell指令碼自動登入伺服器並安裝JDK(代碼教程),shelljdk
1.編寫安裝指令碼
編寫安裝指令碼 install.sh
!/bin/bashURL="https://***/jdk-8u161-linux-x64.tar.gz"yum install -y wgetwget $URLtar -zxvf jdk-8u161-linux-x64.tar.gz -C /usr/localcat >> /etc/profile << EOFexport JAVA_HOME=/usr/local/jdk1.8.0_161export JRE_HOME=\${JAVA_HOME}/jreexport PATH=\${JAVA_HOME}/bin:\$PATHexport CLASSPATH=.:\${AVA_HOME}/lib:\${JRE_HOME}/libEOF
2.ssh免密登入並運行安裝指令碼
#!/bin/bashSERVERS="centos01 centos02 centos03 centos04"PASSWORD=centos## auto login to serverauto_ssh_login(){ expect -c "set timeout -1; spawn ssh-copy-id $1; expect { *(yes/no)* {send -- yes\r;exp_continue;} *password:* {send -- $2\r;exp_continue;} eof {exit 0;} }";}ssh_copy_id(){ for SERVER in $SERVERS do auto_ssh_login $SERVER $PASSWORD done}ssh_copy_idfor SERVER in $SERVERSdo scp install.sh root@$SERVER:/root ssh root@$SERVER /root/install.shdone