標題:
ubuntu之rsync服務
[打印本頁]
作者:
chiming
時間:
2008-1-22 22:58
標題:
ubuntu之rsync服務
ubuntu缺省安裝的安裝中,rsync服務是沒有開啟的。需要做3步:
1、修改/etc/default/rsync,讓rsync服務在開機的時候啟動。
$ sudo vi /etc/default/rsync
將RSYNC_ENABLE=false改為RSYNC_ENABLE=true
2、創建一個rsyncd.conf,缺省安裝中是沒有這個文件的。
$ sudo vi /etc/rsyncd.conf
輸入以下幾行:
uid=nobody
gid=nobody
max connections=3
use chroot=no
log file=/var/log/rsyncd.log
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsyncd.lock
secrets file=/etc/rsync.pwd
3、啟動rsync服務。
$ /etc/init.d/rsync start
在客戶端中就可以和服務器同步了。rsync的語法如下:
rsync [OPTION]... SRC [SRC]... [USER@]HOST
EST
其中[OPTION]通常用:-vzrtopg --progress --delete,意義大概是顯示同步過程詳細信息,從目的地中刪除源中不存在的文件。
如果配好了ssh的密鑰對,那麼這個地方就不需要指定[USER@]了。比如我將我修改後的網站同步到服務器上,只需輸入以下命令:
rsync -vzrtopg --progress --delete ./dagwww/ 192.168.0.1:dagwww
還可以在~/.bashrc中加入一個alias:
alias rsyncweb="rsync -vzrtopg --progress --delete ~/dagwww/ 192.168.0.1:dagwww "
然後source一下,讓它啟用。
$source ~/.bashrc
之後就可以用rsyncweb命令來同步了。
rsync只同步修改過的文件,而且是通過ssh通過傳輸,傳輸時會壓縮數據,比起ftp來,即安全又快捷,實乃網站發佈更新之利器也。
這篇太奇怪了!很多地方不合理,做出來的效果也很奇怪!
實地使用的感覺,發現/etc/rsyncd.conf 檔內有很多地方
不像作者所說的
1.uid及 gid 好像設什麼身分都可以
2. use chroot 設為 no 及yes 也沒差
3. secrets file 根本不用設,設了也沒用
預設值是一定要用真實的帳號做ssh登入
臥龍大師的說法是可以用虛擬的帳號
但我在ubuntu內做不出來!
作者:
chiming
時間:
2008-1-24 22:06
標題:
正確的設定文章
Sorry!有點忘了在那裡找到這篇!
電腦分成兩台(server:192.168.0.100 Client:192.168.0.200)
**放備份資料的主機(Server) ip:192.168.0.100**
1.安裝rsync
代碼:
apt-get install rsync
2.修改/etc/default/rsync
代碼:
將 RSYNC_ENABLE=false
改成RSYNC_ENABLE=true
3.rsync client 主機的設定
代碼:
#vi /etc/rsyncd.conf
[Home]
#允許使用rsync的ip
hosts allow = 192.168.0.200
#將其他的都檔掉
hosts deny = *
#要存放備份的地方
path = /back
#隨便你填
auth users = home_back
uid = root
gid = root
#rsync的帳號密碼的位置
secrets file = /etc/rsyncd.secrets
#是否唯讀--不要
read only = no
4.設定密碼 rsyncd.secrets
代碼:
#vi /etc/rsyncd.secrets
帳號:密碼
例如
rostin:ILoveRostin
接著修改權限和擁有者
#chown root:root /etc/rsyncd.secrets
基本上我用root建立的/etc/rsyncd.secrets所以這一步是多餘的
#chmod 600 /etc/rsyncd.secrets
5.啟動rsync
代碼:
#/etc/init.d/rsync start
可以連到自己的電腦看看有沒有成功
#telnet localhost 873
如果出現
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
@RSYNCD: 29
代表已經成功了
**要備份的主機(Client)ip:192.168.0.200
1.安裝rsync
代碼:
#apt-get install rsync
2.設定密碼
代碼:
#vi /etc/rsyncd.passwd
這裡要填上你剛剛在server端所建立的密碼ILoveRostin
更改權限與擁有者
chmod 600 /etc/rsyncd.passwd
基本上我用root建立的/etc/rsyncd.secrets所以這一步是多餘的
chown root:root /etc/rsyncd.passwd
3.開始備份
代碼:
rsync -arHz --progress --delete --password-file=/etc/rsyncd.passwd /home/
rostin@192.168.0.100
::Home/home
-a:保留權限,除了Hard Link
-r:遞迴地複製目錄中的所有目錄
-H:保留 Hard Link
-z:資料備份前先壓縮
--progress:顯示進度
--delete:如果要備份的主機上刪除了某個檔案,備份的主機也刪除某個檔案
--password-file:密碼檔的位置
這一行
rostin@92.168.0.100
::Home/home的意思是
帳號@server的ip::在server端/etc/rsyncd.conf中的名字/建立一個home來放資料
這樣就大功告成了
4.最後當然要讓他自動化
代碼:
#vi /etc/crontab
加入
0 5 * * * root /usr/bin/rsync -arHz --progress --delete --password-file=/etc/rsyncd.passwd /home/
rostin@192.168.0.100
::Home/home
這樣每天早上五點就會自動備份了
**資料的還原
1.到要被還原資料的電腦(Client 192.168.0.200那一台)
2.執行rsync還原
代碼:
#rsync -arHz --progress --delete --password-file=/etc/rsyncd.passwd
rostin@192.168.0.100
::Home/home /home
這樣就可以把/back/home裡的資料還原到你的/home裡面了
歡迎光臨 彰縣自由軟體交流論壇 (http://free.jls.idv.tw/)
Powered by Discuz! 6.0.0