rsync部署使用
業務描述
現有A、B、C....N臺主機。實現對A機器上path_A目錄的指定文件進行備份,備份到B、C、D...
等機器的path_X路徑。現使用rsync實現文件的拷貝,A爲服務端,其餘機器爲客戶端,客戶端執行定時
任務將文件拉取到本地。
經過rsync能夠結合crontab實現按時自動備份,在遠程自動同步的場景下,rsync 須要以守護進
程的方式來運行。
客戶端和服務端都要安裝rsync,安裝完後有些系統不會生成rsyncd.conf,須要本身建立在
/etc/rsync.d/rsyncd.conf
Server端安裝
rpm -qa rsync // 檢查是否安裝了rsync
yum install rsync -y
mkdir -p /etc/rsync.d
touch /etc/rsync.d/rsyncd.conf // rsync服務端配置文件
touch /etc/rsync.d/rsyncd.pass // 客戶端拉取文件時使用的用戶密碼
chmod 600 /etc/rsync.d/rsync.conf
chmod 600 /etc/rsync.d/rsync.pass
vim /etc/rsync.d/rsyncd.conf
log file=/var/log/rsyncd.log
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsyncd.lock
uid=root
gid=root
max connections=5
hosts allow=10.10.11.21/10.10.11.22
hosts deny=*
secrets file = /etc/rsync.d/rsyncd.pass
read only = yes
use chroot = yes
ignore errors = yes
list = true
#write only = no
[nipt]
path=/zonghe/sharedisk/sharedisk/word/niptword/
comment= this is lab nipt rpt sync
exclude= 2016 2017 2018/01 2018/02 2018/03 2018/04 2018/05
auth users=rsync
[niptplus]
path=/zonghe/sharedisk/sharedisk/plus
comment= this is lab niptplus rpt sync
exclude= 2016 2017 2018/01 2018/02 2018/03 2018/04 2018/05 FACT images old TEMP template template.rar
auth users=rsync
vim /etc/rsync.d/rsyncd.pass
# 用戶名密碼自定義
rsync:rsync
rsync --daemon --config=/etc/rsync.d/rsyncd.conf
至此,服務端安裝啓動完畢。
Client端安裝
rpm -qa rsync // 檢查是否安裝了rsync
yum install rsync -y
mkdir -p /etc/rsync.d
touch /etc/rsync.d/rsync.pass
touch /etc/rsync.d/include.list
chmod 600 /etc/rsync.d/rsync.pass
vim /etc/rsync.d/rsyncd.pass
# 配置密碼便可,調用命令中指定用戶名
rsync
vim /etc/rsync.d/rsyncd.pass
# 配置了只想同步哪些文件或目錄,這裏配置的是隻同步pdf文件
+ */
+ *.pdf
- *
調用腳本
mkdir -p /usr/local/test_rsync
rsync -avzP ––include-from=/etc/rsync.d/include.list rsync@10.11.11.11::nipt /usr/local/test_rsync/nipt --password-file=/etc/rsync.d/rsyncd.pass
rsync -avzP ––include-from=/etc/rsync.d/include.list rsync@10.11.11.11::niptplus /usr/local/test_rsync/niptplus --password-file=/etc/rsync.d/rsyncd.pass
加入crontab
crontab -e
*/1 * * * * rsync -av ––include-from=/etc/rsync.d/include.list rsync@10.100.11.33::nipt /usr/local/test_rsync/nipt --password-file=/etc/rsync.d/rsyncd.pass
*/1 * * * * rsync -av ––include-from=/etc/rsync.d/include.list rsync@10.100.11.33::niptplus /usr/local/test_rsync/niptplus --password-file=/etc/rsync.d/rsyncd.pass
rsync服務端關閉啓動命令
ps -ef | grep rsync
kill -9 pid
rm -f /var/run/rsyncd.pid
rsync --daemon --config=/etc/rsync.d/rsyncd.conf
配置文件與客戶端命令參考: