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