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

linux如何編寫同步文件的腳本

 更新時間:2024年06月28日 11:42:08   作者:孫晨c  
這篇文章主要介紹了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)文章

最新評論