linux如何自动化部署脚本实现免密登录并访问资源
任務把weijie主機jdk文件安裝到weijie1中。
首先再各臺主機中安裝必要的命令:
expect、wget、httpd、ssh
執行命令 如:expect提示命令不存在,則分別安裝命令
開啟httpd,方便通過http請求來訪問虛擬機linux系統中的文件
service httpd start第一步:
分別在兩臺主機關閉防火墻:
service iptables stop
把要部署的文件拷貝到www的目錄下
cp 拷貝的文件路徑 cd /var/www/html/目錄下
再確認y即可。如果拷貝成功后,可以通過本機訪問虛擬機www中的資源
會出現
第二步:
再配置自動化部署腳本
習慣在根目錄下創建script文件夾,里面分別創建boot.sh(實現免密登錄)和install.sh()兩個腳本文件
第三步:
寫入腳本代碼操作
打開boot.sh
寫入代碼:
注解:
spawn是進入expect環境后才可以執行的expect內部命令。
expect是一種腳本語言,它能夠代替我們實現與終端的交互,我們不必再守候在電腦旁邊輸入密碼,或是根據系統的輸出再運行相應的命令。
ssh-copy-id命令可以把本地主機的公鑰復制到遠程主機的authorized_keys文件上,ssh-copy-id命令也會給遠程主機的用戶主目錄(home)和~/.ssh, 和~/.ssh/authorized_keys設置合適的權限。
send()是一個計算機函數,功能是向一個已經連接的socket發送數據
配置install.sh腳本文件
打開文件
寫入下面代碼
#!/bin/bash BASE_SERVER=weijie wget $BASE_SERVER/soft/jdk-8u161-linux-x64.tar.gz #待發送的文件 tar -zxcf jdk-8u161-linux-x64.tar.gz -C /usr/local #解壓到對應的local文件夾目錄下 cat >> /etc/profile << EOF #將EOF中的內容追加到profile內容中 export JAVA_HOME=/usr/local/jdk1.8.0_161 #配置環境變量 export PATH=\$PATH:\$JAVA_HOME/bin ~第四步:
執行腳本文件
如果出現如下,說明部署成功
然后在wiejie1 root目錄中可以看見jdk文件。
總結
以上是生活随笔為你收集整理的linux如何自动化部署脚本实现免密登录并访问资源的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: socket网络编程多线程
- 下一篇: linux中iptables对防火墙的操