rsync命令 守護程序模式 還有配置檔案

2021-10-05 06:49:32 字數 3760 閱讀 9213

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的程序是否還活著。這樣...