linux如何編寫(xiě)同步文件的腳本
linux編寫(xiě)同步文件的腳本
搭集群最麻煩的就是修改配置文件,如果只用修改一個(gè)機(jī)器上的配置文件,然后用一個(gè)腳本就可以把配置文件同步到其他機(jī)器上,豈不快哉!
編寫(xiě)一個(gè)名為xsync的腳本文件
作用: 將當(dāng)前機(jī)器的文件,同步到集群所有機(jī)器的相同路徑下!
hadoop102:/A/a , 執(zhí)行腳本后,將此文件同步到集群中所有機(jī)器的 /A/a
用戶在使用xsync時(shí),只需要傳入要同步的文件即可
xysnc a
不管a是一個(gè)相對(duì)路徑還是絕對(duì)路徑,都需要將a轉(zhuǎn)換為 絕對(duì)路徑!
文件的 絕對(duì)路徑=父路徑+文件名:
- 父路徑: dirpath=$(cd
dirname /home/atguigu/hi
; pwd -P) - 文件名: filename=
basename hi
pwd的 -P參數(shù)是為了避免出現(xiàn)軟鏈接導(dǎo)致的路徑問(wèn)題,-P可以使軟鏈接顯示出真實(shí)的鏈接
- 核心命令:
for(()) do rsync -rvlt path1 done
- 正式文件:
#!/bin/bash #校驗(yàn)參數(shù)是否合法 if(($#==0)) then echo 請(qǐng)輸入要分發(fā)的文件! exit; fi #獲取分發(fā)文件的絕對(duì)路徑 dirpath=$(cd `dirname $1`; pwd -P) filename=`basename $1` echo 要分發(fā)的文件的路徑是:$dirpath/$filename #循環(huán)執(zhí)行rsync分發(fā)文件到集群的每條機(jī)器 for((i=101;i<=103;i++)) do echo ---------------------hadoop$i--------------------- rsync -rvlt $dirpath/$filename username@hostname$i:$dirpath done
最后別忘了把xcall文件放進(jìn) 家目錄下的bin目錄
如果沒(méi)有就新建一個(gè)bin目錄
因?yàn)檫@目錄是在 全局環(huán)境變量 中
放進(jìn)去后無(wú)論在哪個(gè)目錄下都可以執(zhí)行這個(gè)腳本文件!
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
ubuntu 16.04 LTS 安裝mongodb 3.2.8教程
本篇文章主要介紹了ubuntu 16.04 LTS 安裝mongodb 3.2.8教程,具有一定的參考價(jià)值,有需要的可以了解一下。2017-04-04解決Nginx + PHP(FastCGI)遇到的502 Bad Gateway錯(cuò)誤
昨日,有朋友問(wèn)我,他將Web服務(wù)器換成Nginx 0.6.31 + PHP 4.4.7(FastCGI)后,有時(shí)候訪問(wèn)會(huì)出現(xiàn)“502 Bad Gateway”錯(cuò)誤,如何解決。2008-12-12Linux服務(wù)器如何修改默認(rèn)的遠(yuǎn)程連接端口
這篇文章主要介紹了Linux服務(wù)器如何修改默認(rèn)的遠(yuǎn)程連接端口問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12Linux中如何開(kāi)啟或關(guān)閉SELinux
這篇文章主要介紹了Linux中如何開(kāi)啟或關(guān)閉SELinux問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02linux創(chuàng)建用戶,添加及修改shell方式
這篇文章主要介紹了linux創(chuàng)建用戶,添加及修改shell方式。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04配置 Apache 服務(wù)器禁止所有非法域名 訪問(wèn)自己的服務(wù)器
這篇文章主要介紹了配置 Apache 服務(wù)器禁止所有非法域名 訪問(wèn)自己的服務(wù)器,需要的朋友可以參考下2017-06-06Linux中設(shè)置路由以及虛擬機(jī)聯(lián)網(wǎng)圖文詳解
這篇文章主要介紹了Linux中設(shè)置路由以及虛擬機(jī)聯(lián)網(wǎng),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04linux內(nèi)核copy_{to, from}_user()的思考
本文即將介紹copy_{to,from}_user()接口的使用應(yīng),它是kernel space和user space溝通的橋梁,接下來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-08-08