rsync是類unix系統下的數據鏡像備份工具,從軟件的命名上就能夠看出來了——remote sync。linux
它的特性以下:vim
能夠鏡像保存整個目錄樹和文件系統。centos
能夠很容易作到保持原來文件的權限、時間、軟硬連接等等。安全
無須特殊權限便可安裝。服務器
快速:第一次同步時 rsync 會複製所有內容,但在下一次只傳輸修改過的文件。rsync 在傳輸數據的過程當中能夠實行壓縮及解壓縮操做,所以能夠使用更少的帶寬。ssh
安全:能夠使用scp、ssh等方式來傳輸文件,固然也能夠經過直接的socket鏈接。socket
支持匿名傳輸,以方便進行網站鏡象。[1]ide
系統環境:工具
Server :A:centos 5.6 IP:192.168.1.125 網站
Client :B:linux 5.5IP:192.168.1.123
A和B都要安裝RSYNC軟件
rsync安裝
[root@localhost rsync]# ls
inotify-tools-3.14.tar.gzrsync-3.0.4.tar.gz
ocaml-3.10.2.tar.gzunison-2.32.52.tar.gz
[root@localhost rsync]#
[root@localhost rsync-3.0.4]# tar zxvf rsync-3.0.4.tar.gz
[root@localhost rsync]# cd rsync-3.0.4
[root@localhost rsync-3.0.4]# ./configure ;make ; make install
在server:A上配置
[root@localhost /]# vim /etc/rsyncd.conf//安裝默認是沒有的,需手動建立
uid = nobody
gid = nobody
use chroot = no
max connections = 10
strict modes = yes
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
[soft]
path = /soft
comment = soft file
ignore errors
read only = no
write only = no
hosts allow = *
hosts deny = 192.168.12.123
list = false
uid = root
gid = root
auth users = backup
secrets file = /etc/server.pass//文件不作解釋看懂的
[root@localhost /]# vim /etc/server.pass//手動建立的
backup:back12345
[root@localhost /]# chmod 600 /etc/server.pass
[root@localhost /]# /usr/local/bin/rsync –daemon//啓動rsync守護進程
[root@localhost /]# ps -ef |grep rsync
root946010 07:39 ?00:00:00 /usr/local/bin/rsync –daemon
在client:B配置
[root@localhost /]# rsync --list-only backup@192.168.1.125::soft //查看服務端要同步的文件
Password:
drwxr-xr-x4096 2013/03/25 07:20:02 .
drwxr-xr-x4096 2013/03/25 07:23:06 rsync
[root@localhost /]#rsync -av backup@192.168.1.125::soft /tmp///同步到本地
Password: //輸密碼
receiving incremental file list
./
rsync/
rsync/rsync-3.0.4.tar.gz
把服務器同步目錄的內容同步到本地,使用密碼文件。(咱們在寫腳本的時候必用的)
[root@localhost /]# more /etc/server.pass //手動建立
back12345
[root@localhost /]#rsync -av --password-file=/etc/server.pass backup@192.168.1.125::soft /soft/bk///此時不須要輸入密碼了
客戶端,能夠寫腳本並把它放到cron計劃任務中去執行
[root@localhost /]# crontab –e
0422***rsync -av --password-file=/etc/server.pass backup@192.168.1.125::soft /
[root@localhost /]# service crond restart
Stopping crond:[OK]
Starting crond:[OK]
[root@localhost /]# crontab –l//查看任務列表避免未保存
0422***rsync -av --password-file=/etc/server.pass backup@192.168.1.125::soft /
到此一個簡單的備份系統就搭建完成