您好,登錄后才能下訂單哦!
本篇內容主要講解“怎么用rsync實現網站鏡像和備份”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么用rsync實現網站鏡像和備份”吧!
服務器端
# more /etc/rsyncd.conf
uid = nobody
gid = nobody
use chroot = no
max connections = 4
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
[wap]
path = /usr/local/backup
ignore errors
read only = yes
list = no
hosts allow = 192.168.1.2
hosts deny =
auth users = backup
secrets file = /etc/rsyncd.secrets
# more /etc/rsyncd.secrets
backup:backup
# chmod 600 /etc/rsyncd.secrets
# chown root.root /etc/rsyncd.secrets
# rsync --daemon
客戶端
# more /etc/rsync.pass
backup
# more /etc/rsync.sh
rsync -avP backup@192.168.1.1::www /usr/local/backup
--password-file=/etc/rsync.pass
FAQ
Q:如何通過ssh進行rsync,而且無須輸入密碼?
A:可以通過以下幾個步驟
1. 通過ssh-keygen在server A上建立SSH keys,不要指定密碼,你會在~/.ssh下看到identity和identity.pub文件
2. 在server B上的home目錄建立子目錄.ssh
3. 將A的identity.pub拷貝到server B上
4. 將identity.pub加到~[user b]/.ssh/authorized_keys
5. 于是server A上的A用戶,可通過下面命令以用戶B ssh到server B上了
e.g. ssh -l userB serverB
這樣就使server A上的用戶A就可以ssh以用戶B的身份無需密碼登陸到server B上了。
Q:如何通過在不危害安全的情況下通過防火墻使用rsync?
A:解答如下:
這通常有兩種情況,一種是服務器在防火墻內,一種是服務器在防火墻外。無論哪種情況,通常還是使用ssh,這時最好新建一個備份用戶,并且配置 sshd僅允許這個用戶通過RSA認證方式進入。如果服務器在防火墻內,則最好限定客戶端的IP地址,拒絕其它所有連接。如果客戶機在防火墻內,則可以簡單允許防火墻打開TCP端口22的ssh外發連接就ok了。
Q:我能將更改過或者刪除的文件也備份上來嗎?
A:當然可以:
你可以使用如:rsync -other -options -backupdir = ./backup-
這樣如果源文件:/path/to/some/file.c改變了,那么舊的文件就會被移到./backup-
這里這個目錄需要自己手工建立起來
Q:我需要在防火墻上開放哪些端口以適應rsync?
A:視情況而定
rsync可以直接通過873端口的tcp連接傳文件,也可以通過22端口的ssh來進行文件傳遞,但你也可以通過下列命令改變它的端口:
rsync --port 8730 otherhost::
或者
rsync -e 'ssh -p 2002' otherhost:
Q:我如何通過rsync只復制目錄結構,忽略掉文件呢?
A:rsync -av --include '*/' --exclude '*' source-dir dest-dir
Q:為什么我總會出現"Read-only file system"的錯誤呢?
A:看看是否忘了設"read only = no"了
Q:為什么我會出現'@ERROR: invalid gid'的錯誤呢?
A:rsync使用時默認是用uid=nobody;gid=nobody來運行的,如果你的系統不存在nobody組的話,就會出現這樣的錯誤,可以試試gid = nogroup或者其它
Q:綁定端口873失敗是怎么回事?
A:如果你不是以root權限運行這一守護進程的話,因為1024端口以下是特權端口,會出現這樣的錯誤。你可以用--port參數來改變。
Q:為什么我認證失敗?
A:從你的命令行看來:
你用的是:
>; bash$ rsync -a 144.16.251.213::test test
>; Password:
>; @ERROR: auth failed on module test
>;
>; I dont understand this. Can somebody explain as to how to acomplish this.
>; All suggestions are welcome.
應該是沒有以你的用戶名登陸導致的問題,試試rsync -a max@144.16.251.213::test test
到此,相信大家對“怎么用rsync實現網站鏡像和備份”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。