簡介linux
rsync(remote sync)是類unix系統下的數據鏡像備份工具。它的特性以下:vim
安裝安全
在RedHat中,rsync是默認安裝的。可經過命令行檢查是否安裝bash
[root@linuxprobe ~]# rpm -q rsync rsync-3.0.4-2.47.28
配置rsync server服務器
1. 修改rsync的配置文件,將disable從"yes"改爲"no"ssh
[root@linuxprobe ~]# vi /etc/xinetd.d/rsync service rsync { disable = no socket_type = stream wait = no user = root server = /usr/bin/rsync server_args = --daemon log_on_failure += USERID }
設置開機啓動RSYNCsocket
[root@linuxprobe ~]# chkconfig rsync on
2. 配置/etc/rsyncd.conf(須要手動生成)tcp
全局參數工具
uid = root //運行RSYNC守護進程的用戶 gid = root //運行RSYNC守護進程的組 use chroot = no //不使用chroot max connections = 4 // 最大鏈接數爲4 strict modes =yes //是否檢查口令文件的權限 port = 873 //默認端口873
模塊參數網站
[backup] //這裏是認證的模塊名,在client端須要指定 path = /home/backup/ //須要作鏡像的目錄,不可缺乏! comment = This is a test //這個模塊的註釋信息 ignore errors //能夠忽略一些無關的IO錯誤 read only = yes // 只讀 list = no //不容許列文件 auth users = linuxprobe //認證的用戶名,若是沒有這行則代表是匿名,此用戶與系統無關 secrets file = /etc/rsync.pas //密碼和用戶名對比表,密碼文件本身生成 hosts allow = 192.168.1.1,10.10.10.10 //容許主機 hosts deny = 0.0.0.0/0 //禁止主機 #transfer logging = yes 註釋:下面這些文件是安裝完RSYNC服務後自動生成的文件 pid file = /var/run/rsyncd.pid //pid文件的存放位置 lock file = /var/run/rsync.lock //鎖文件的存放位置 log file = /var/log/rsyncd.log //日誌記錄文件的存放位置
3. 配置rsync密碼
(1) 建立密碼文件(文件即上述配置文件中的secrets file = /etc/rsync.pas)
[root@linuxprobe ~]# vim /etc/rsync.pas linuxprobe:password //帳號:密碼,一行一個用戶
(2) 修改密碼文件的權限爲600
[root@linuxprobe ~]# chown root.root /etc/rsync.pas [root@linuxprobe ~]# chmod 600 /etc/rsync.pas
4. 設置歡迎信息/etc/rsyncd.motd(無關緊要)
rsyncd.motd記錄了rsync服務的歡迎信息,你能夠在其中輸入任何文本信息,如:
[root@linuxprobe ~]# vim /etc/rsyncd.motd Welcome to use the rsync services!
5. 生效配置
[root@linuxprobe ~]# service xinetd restart
啓動rsync server
1. RSYNC服務端啓動的兩種方法
(1) 啓動rsync服務端(獨立啓動)
[root@linuxprobe ~]#/usr/bin/rsync –daemon
(2) 啓動rsync服務端 (有xinetd超級進程啓動)
[root@linuxprobe ~]# /etc/rc.d/init.d/xinetd reload
2. 加入rc.local
在各類操做系統中,rc文件存放位置不盡相同,能夠修改使系統啓動時把rsync --daemon加載進去。
[root@linuxprobe ~]# vim /etc/rc.local 加入一行/usr/bin/rsync --daemon
3. 檢查rsync是否啓動
若輸出顯示state爲LISTEN,表示爲等待接受連接的狀態,說明rsync已經啓動。
[root@linuxprobe ~]# netstat -a | grep rsync tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN
配置rsync client
1. 設定密碼
[root@linuxprobe ~]# vim /etc/rsync.pas password
修改權限
[root@linuxprobe ~]# chown root.root /etc/rsync.pas [root@linuxprobe ~]# chmod 600 /etc/rsync.pas
2. client鏈接SERVER
從SERVER端取文件
/usr/bin/rsync -vzrtopg --progress --delete linuxprobe@192.168.0.217::backup /home/backup --password-file=/etc/rsync.pas
向SERVER端上傳文件
/usr/bin/rsync -vzrtopg --progress --password-file=/root/rsync.pas /home/backup linuxprobe@192.168.0.217::backup
這個命令將把本地機器/home/backup目錄下的全部文件(含子目錄)所有備份到RSYNC SERVER(172.20.0.6)的backup模塊的設定的備份目錄下。
請注意若是路徑結束後面帶有"/",表示備份該目錄下的東東,但不會建立該目錄,如不帶"/"則建立該目錄。
RSYNC用法:
rsync [OPTION]... [USER@]HOST::SRC [DEST] #從RSYNC SERVER備份文件到本地機器 rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST #從本地機器備份文件到RSYNC SERVER
3. 自動運行
1) 製做腳本文件
[root@linuxprobe ~]# vim /usr/local/rsync/time.sh [root@linuxprobe ~]# !/bin/bash /usr/bin/rsync -vzrtopg --progress --delete linuxprobe@192.168.0.217::backup /home/backup --password-file=/etc/rsync.pas
2) 編輯crontab
[root@linuxprobe ~]# crontab -e 55 * * * * /usr/local/rsync/time.sh //每55分運行一次time.sh腳本文件
防火牆設置
若是服務器上裝有防火牆,需在服務器中設置iptables將837端口開放。
[root@linuxprobe ~]# iptables -A INPUT -p tcp --dport 873 -j ACCEPT
免費提供最新Linux技術教程書籍,爲開源技術愛好者努力作得更多更好:http://www.linuxprobe.com/