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