欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

linux如何編寫(xiě)同步文件的腳本

 更新時(shí)間:2024年06月28日 11:42:08   作者:孫晨c  
這篇文章主要介紹了linux如何編寫(xiě)同步文件的腳本問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

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)文章

最新評(píng)論