rsync是開源的檔案同步工具,特點:開源、快速、多功能、可以實現全量或增量的備份、可以實現本地或遠端的推送和拉取
全量壓縮:通常用於第一次,在企業中本個月/乙個月做一次全量備份
增量壓縮:表示在原有的基礎上新增加檔案或目錄進行壓縮備份,在企業中每天/每週做一次,而在銀行/電信/稅務等資料多的企業,可能半天做一次,防止資料丟失
rsync命令的三種模式
1.本地模式
類似於cp命令,可以實現檔案的複製
命令用法:
rsync 可選項 src原始檔 dest目標檔案
2.shell訪問模式
相當於scp命令,支援斷點續傳,利用rsync的增量特點,實現的原理時rsync獨特的演算法
所謂的增量就是只傳輸差異部分的資料
命令用法:
推送:rsync 可選項 src原始檔 user@host:dest目標檔案
拉取:rsync 可選項 user@host:src原始檔 dest目標檔案
3.守護程序模式
客戶端:c
伺服器端:s
命令用法:
推送:rsync 可選項 src原始檔 user@host::dest目標檔案
rsync 可選項 src原始檔 rsync:/
/user@host:port/dest目標檔案
拉取:rsync 可選項 user@host:src原始檔 dest目標檔案
rsync 可選項 rsync:/
/user@host:port/src原始檔 dest目標檔案
可選項
-a 遞迴傳輸,並保持所有檔案的屬性
-v 詳細模式輸出,傳輸過程中顯示進度等詳細的資訊
-z 傳輸的時候啟動壓縮的方式傳輸,提公升效率
-p 大寫,顯示進度
-p 小寫,保持檔案的屬性不變
-t 保持檔案的時間資訊不變
--exclude=path 排除檔案
1.檢查伺服器上是否安裝rsync命令
[root@*** /2020/033]
# :rpm -qa|grep rsync
rsync-3.1.2-6.el7_6.1.x86_64
如果沒有,安裝rsync命令
yum install -y rsync
2.配置檔案
配置檔案路徑:/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
實名登入
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
#密碼檔案的路徑
3. 建立rsync服務管理使用者
useradd -s /sbin/nologin -m rsync
nologin 禁止使用者登入
-m 不建立登入目錄
4.建立密碼檔案
echo
"rsync_backup:123456" > /etc/rsync.passwd 這個密碼檔案是不存在的,時我們新建的
所有密碼檔案授權600 chmod 600 /etc/rsync.passwd
5.建立儲存的目錄
mkdir backup
chown -r rsync:rsync /backup/ 授權
6.重新啟動服務並設定開機啟動
systemctl restart rsyncd
systemctl enable rsyncd
7.測試服務
systemctl status rsyncd
ps axu|grep rsync
Linux守護程序執行命令daemonize
我們一般在編寫伺服器的時候都希望能讓伺服器在後台執行,而且能記錄下這個伺服器的pid,防止乙個程序重複啟動。之前我的方案是自己使用fork函式,將伺服器執行成後台模式 並且在啟動之前去檢查配置檔案中指定的pid檔案中是否能讀出pid資訊,並且在當前的ps aux中查詢這個pid的程序是否還活著。這樣...
後台執行命令 守護程序建立
當你在終端或控制台工作時,可能不希望由於執行乙個作業而佔住了螢幕,因為可能還有更重要的事情要做,比如閱讀電子郵件。對於密集訪問磁碟的程序,你可能希望它能夠在每天的非負荷高峰時間段執行。為了使這些程序能夠在後台執行,也就是說不在終端螢幕上執行,有幾種選擇方法可供使用 list 設定crontab檔案,...
Linux守護程序執行命令daemonize
我們一般在編寫伺服器的時候都希望能讓伺服器在後台執行,而且能記錄下這個伺服器的pid,防止乙個程序重複啟動。之前我的方案是自己使用fork函式,將伺服器執行成後台模式 並且在啟動之前去檢查配置檔案中指定的pid檔案中是否能讀出pid資訊,並且在當前的ps aux中查詢這個pid的程序是否還活著。這樣...