Rsync的端口是:873html
man rsyncd.conf 查看幫助shell
Rsync是Redhat默認自帶的,這裏只是作了rsync服務器端的後臺監測運行vim
1.vim /etc/rsyncd.conf # 注意將裏面的註釋信息所有刪除後建立daemon後臺運行進程 vi /etc/rsyncd.conf -->man rsyncd.conf 查看幫助 ######rsyncd.conf####### uid = rsync ----->非系統虛擬用戶 gid = rsync use chroot =no -->防止出現安全問題 maxconnections = 200 --->最大鏈接數 timeout = 300 --->超時時間 pid file =/var/run/rsyncd.pid --->進程pid所在的文件 lock file =/var/run/rsync.lock -->鎖 log file =/var/log/rsyncd.log -->出錯的日誌文件 [backup] --->模塊 path = /backup ->能夠理解爲共享目錄 ignore errors --->忽略錯誤 read only =false --->可讀寫 list = false -->是否容許列表 hosts allow =192.168.25.0/24 --->容許的主機 hosts deny =0.0.0.0/32 auth users =rsync_backup -->虛擬用戶 secrets file= /etc/rsync.password -->用戶對應的密碼文件 #######rsyncd.config######## 啓動/關閉rsync服務進程 /usr/bin/rsync --daemon --config=/etc/rsyncd.conf pkill rsync 檢查rsync服務/端口 ps -ef|grep rsync|grep -v "grep" ->檢查一下進程 netstat -lntup|grep 873 ->檢查端口 ==> ss -lntup|grep 873 ==> lsof -i:873
查看日誌,確認服務開啓[執行完daemon後,會開啓日誌文件]c#
cat /var/log/rsyncd.log
建立用戶rsync安全
useradd rsync -s /sbin/nologin -M 虛擬用戶,不須要建立家目錄
建立共享目錄backup服務器
mkdir /backup chown -R rsync.rsync /backup ls -ld /backup
寫入密碼進入/etc/rsync.password測試
echo "rsync_backup:ftl600@HHH" >> /etc/rsync.password ->這裏 rsync_backup rsync的虛擬用戶名,ftl600@HHH是rsync的虛擬用戶名的密碼 cat /etc/rsync.password chmod 600 /etc/rsync.password ls -dl /etc/rsync.password
開機自啓動ui
echo "rsync --daemon">>/etc/rc.local tail /etc/rc.local
寫入密碼到rsync.password文件spa
echo "ftl600@HHH" > /etc/rsync.password -->只須要密碼 cat /etc/rsync.password chmod 600 /etc/rsync.password -->必須是隻讀文件 ls -dl /etc/rsync.password
客戶端/etc/hosts目錄以及目錄自己同步到服務端的back目錄(配置文件裏配置的module)下3d
客戶端:
rsync -avz /etc/hosts rsync_backup@192.168.25.141::backup --password-file=/etc/rsync.password rsync -avz rsync_backup@192.168.25.141::backup /tmp --password-file=/etc/rsync.password
服務端:
注意: 1.使用絕對路徑 2. destination must be a directory when copying more than 1 file
無差別同步(儘可能不用) 儘可能不用,用以前必定要備份
以本地/tmp爲準,tmp有服務器端有,服務器多餘的文件刪除
push: rsync -avz --delete /tmp rsync_backup@192.168.25.137::backup --password-file=/etc/rsync.password
以服務器端爲準,服務器端有,同步到本地/tmp, /tmp多餘的文件刪除排除
pull: rsync -avz --delete rsync_backup@192.168.25.137::backup /tmp --password-file=/etc/rsync.password
1.服務端:/etc/rsyncd.conf裏面添加exclude= a b test/h.txt
2.客戶端:
rsync -avz --exclude=/tmp/{1,2} /tmp/ rsync_backup@192.168.25.137::backup --password-file=/etc/rsync.password rsync -avz --exclude=/tmp/{a..g} /tmp/ rsync_backup@192.168.25.137::backup --password-file=/etc/rsync.password rsync -avz --exclude-from=paichu.txt /tmp/ rsync_backup@192.168.25.137::backup --password-file=/etc/rsync.password
1.編寫腳本文件hh.sh
#!/bin/sh IP="$(ifconfig eth0|awk -F '[ :]+' 'NR==2{print $4}')" path="/backup_$IP.$(date +%F)" dir="$IP.$(date +%F)" echo ".................Starting copy rc.local................" mkdir -p $path/$dir $$\ /bin/cp /etc/rc.local $path/$dir/rc.local_$(date +%F) echo ".................Ending copy rc.local................" echo ".................Starting rsync......................." rsync -az $path rsync_backup@192.168.25.141::backup --password-file=/etc/rsync.password echo ".................Ending rsync......................." exit
2.設置定時任務
crontab -e #################Crontab for rsync########### 0 0 20 8 * /bin/sh /home/omd/hh.sh >/dev/null 2>&1