rsync同步
1.若有rsync,不需要配置就可以簡單實用
#sudo rsync -av /home 192.168.1.1:/data/home
2,server配置后在使用
[back_home] #模塊它為我們提供了一個鏈接的名字,在本模塊中鏈接到了/home目錄;要用[name] 形式 path = /home #指定文件目錄所在位置,這是必須指定的 auth users = root #認證用戶是root ,是必須在服務器上存在的用戶 list=yes #list 意思是把rsync 服務器上提供同步數據的目錄在服務器上模塊是否顯示列出來。默認是yes 。 如果你不想列出來就no,比較安全的,別人不知道你的服務器上提供了哪些目錄; ignore errors #忽略IO錯誤 secrets file = /etc/rs.passwd #密碼存在哪個文件 comment = linuxsir home data #注釋可以自己定義 exclude = ext1/ ext2/ #ext1\ext2目錄排除,即不同步這2個目錄 #sudo echo "root:123456" >> etc/rs.passwd #設置賬號密碼,多個賬號密碼,設置多行,并且賬號是系統上存在的 #sudo chmod 600 /etc/rs.passwd #sudo /usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf #啟動rsync服務
3.client
rsync中的參數 -a 以archive模式操作、復制目錄、符號連接 相當于-rlptgoD -r 是遞歸 -l 是鏈接文件,意思是拷貝鏈接文件; -p 表示保持文件原有權限; -t 保持文件原有時間; -g 保持文件原有用戶組; -o 保持文件原有屬主; -D 相當于塊設備文件; -z 傳輸時壓縮; -P 傳輸進度; -v 傳輸時的進度等信息,和-P有點關系,自己試試。可以看文檔; -e ssh的參數建立起加密的連接。 -u只進行更新,防止本地新文件被重寫,注意兩者機器的時鐘的同時 --progress是指顯示出詳細的進度情況 --delete是指如果服務器端刪除了這一文件,那么客戶端也相應把文件刪除,保持真正的一致 --password-file=/password/path/file來指定密碼文件,這樣就可以在腳本中使用而無需交互式地輸入驗證密碼了, 這里需要注意的是這份密碼文件權限屬性要設得只有屬主可讀。 #sudo rsync --list-only root@192.168.1.1:: #查看服務器提供的的數據源 #sudo rsync --list-only root@192.168.1.1::::back_home #查看back_home里的文件 #sudo rsync -avzP root@192.168.1.1::back_home /data/home #備份源back_home到本地的home #sudo rsync -avzP --delete --password-file=rs.paswd root@192.168.1.1::back_home /data/home #同步源back_home到本地的home并保持內容一致,并指定密碼文件,內容就是密碼,這樣就不用輸入密碼了,適合自動和任務 #echo '123456' > ./rs.passwd #sudo chmod 600 rs.passwd
4,及時同步:
下載源碼包http://sourceforge.net/projects/inotify-tools/ #./configure &&make && sudo make install 或yum install inotify-tools 或apt-get install inotify-tools #同步腳本如下: #sudo cat inotify.sh HOST=192.168.1.1 SRC=/home DST=/data/home USER=root /usr/local/bin/inotifywait -mrq -e modify,delete,create,attrib $SRC | while read files do /usr/bin/rsync -avzP --delete --progress --password-file=rs.passwd $SRC $USER@$HOST::$DST echo "${files} was rsynced">>/tmp/rsync.log 2>&1 done
5.也可以參考下unison雙休同步,無需配置,sudo apt-get install unison
SRC="/home/" DST="/data/home/" IP="root@192.168.1.1" /usr/bin/unison --bath -sshargs "-i /home/kkk/.ssh/id_rsa" $SRC ssh://$IP/$DST
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!