日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

集群分发脚本xsync

發布時間:2024/1/3 综合教程 37 生活家
生活随笔 收集整理的這篇文章主要介紹了 集群分发脚本xsync 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

編寫集群分發腳本xsync

1)scp 安全拷貝

1)定義:

scp可以實現服務器與服務器之間的數據拷貝

2)特點

scp會把整個文件對象賦值到目標服務器上

3)基本語法

scp    -r          $pdir/$fname              $user@$host:$pdir/$fname
命令   遞歸       要拷貝的文件路徑/名稱    目的用戶@主機:目的路徑/名稱
例如
scp -r /opt/module/hadoop/*   atguigu@hadoop102:/opt/module

2)rsync(推薦使用)

注:想使用rsync命令,必須提前安裝

安裝語法

yum install rsync

1)特點

只會對差異文件進行更新,而scp是把所有文件都復制過去

2)基本語法

rsync    -av       $pdir/$fname              $user@hadoop$host:$pdir/$fname
命令   選項參數   要拷貝的文件路徑/名稱    目的用戶@主機:目的路徑/名稱
例如
rsync -av /opt/software/* atguigu@hadoop103:/opt/software(這里要寫父目錄的路徑)

選項參數說明

選項 功能
-a 歸檔拷貝(類似于遞歸)
-v 顯示復制過程

編寫集群分發腳本(重點)

1)需求:需要將當前文件或目錄同步到當前集群所有節點

2)思路

使用原始命令需要發送N次,可以使用shell腳本,把原始命令放在循環內,可以重復使用

采用rsync實現,因為rsync只會發送有差異的數據

3)實現腳本

#!/bin/bash
#1. 判斷參數個數
if [ $# -lt 1 ]
then
  echo Not Enough Arguement!
  exit;
fi
#2. 遍歷集群所有機器
for host in hadoop102 hadoop103 hadoop104
do
  echo ====================  $host  ====================
  #3. 遍歷所有目錄,挨個發送
  for file in $@
  do
    #4. 判斷文件是否存在
    if [ -e $file ]
    then
      #5. 獲取父目錄
      pdir=$(cd -P $(dirname $file); pwd)
      #6. 獲取當前文件的名稱
      fname=$(basename $file)
      ssh $host "mkdir -p $pdir"
      rsync -av $pdir/$fname $host:$pdir
    else
      echo $file does not exists!
    fi
  done
done

1)修改腳本xsync具有執行權限

[atguigu@hadoop102 bin]$ chmod +x xsync

2)將腳本復制到/bin中,以便全局調用

如果當前用戶沒有bin目錄,可以手動創建

[atguigu@hadoop102 bin]$ sudo cp xsync /bin/

腳本編寫完成,可以測試了

總結

以上是生活随笔為你收集整理的集群分发脚本xsync的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。