配置服務器rsync服務
1.配置rsync服務配置文件:vim /etc/rsyncd.conf
配置文件裏面內容如下:(此方式爲指定用戶的方式進行文件傳輸,可使用交互方式或非交互方式連接)
uid = rsync
gid = rsync
use chroot = no
#安全相關的配置 通常可以設置爲no
fake super = yes
#權限的問題 rsync臨時提權讓你有權限
max connections = 200
#最大連接數默認是4
pid file = /var/run/rsyncd.pid
#進程號
log file = /var/log/rsyncd.log
#指定日誌文件 顯示錯誤信息或程序運行信息
# exclude = lost+found/
# transfer logging = yes
timeout = 300
#默認的超時時間 沒有傳輸的時候多長時間斷開
port = 873
#rsync 端口號默認是873 也可以改8873
read only = false
#只讀 關閉
#auth user = rsync_backup
#指定登錄用戶的名稱 用於客戶端登錄
#secrets file = /etc/rsync.passwd
#密碼文件的路徑
[backup]
#添加backup模塊
comment = "Welcome to Azkaban RsyncBackUp"
path = /backup
auth users = rsync_backup
#指定登錄用戶的名稱 用於客戶端登錄
secrets file = /etc/rsync.passwd
#密碼文件的路徑
2.創建一個虛擬用戶rsync不添加屬組,不允許用戶登錄:
useradd -s /sbin/nologin -M rsync
3.在etc下創建一個授權用戶rsync_backup的密碼文件rsync.passwd:
echo "rsync_backup:123456" > /etc/rsync.passwd
4.更改密碼文件rsync.passwd的文件權限:
chmod 600 /etc/rsync.passwd
5.在根目錄下創建一個名爲backup的目錄:
mkdir /backup
6.把backup這個目錄及目錄下內容的屬主和屬組都改爲rsync:
chown -R rsync.rsync /backup/
7.啓動rsync服務:
systemctl restart rsyncd
8.設置rsync服務開機自啓動:
systemctl enable rsyncd
輸完系統反饋:Created symlink from /etc/systemd/system/multi-user.target.wants/rsyncd.service to /usr/lib/systemd/system/rsyncd.service.
實驗部署:客戶端推送至服務器端實驗部署——客戶端部署
這部有倆種方式:交互式和非交互式
交互式:
交互式就是在我們執行了推送或拉取命令後系統提示輸入該用戶密碼,當我們服務器配置爲指定用戶連接傳輸時,我們使用該用戶傳輸時就被要求輸入密碼,每次傳輸命令執行後都要輸密碼。
非交互式:
1.變量非交互式:就是我們先在客戶端設置一個臨時變量,這樣我們再執行傳輸命令時就 不需要輸入密碼了,直接執行,這是非交互中最爲推薦的方式,好處是相對安全,在我們關閉客戶端時這個變量會隨之失效,
export RSYNC_PASSWORD=123456 #設置一個臨時變量
2.密匙文件非交互式:就是我們創建一個密匙文件,然後執行命令時先讀取密匙文件再執行傳輸命令,以此來達到非交互式傳輸。
echo '123456' > /etc/rsync.passwd #新建一個密碼文件
chmod 600 /etc/rsync.passwd #修改文件權限
rsync -avzP --password-file=/etc/rsync.passwd /tmp/8848 rsync_backup@10.0.0.139::backup #命令中指定密匙文件位置