您好,登錄后才能下訂單哦!
本篇內容介紹了“Linux下Rsync的介紹與使用”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
rsync是Linux系統下的文件同步和數據傳輸工具,它基于“delta-transfer”算法聞名遐邇,保證客戶端和遠程服務器端之間的文件同步,rsync可以支持斷點續傳;rsync只傳輸源文件和目標文件之間不一致的部分;rsync支持執行完整備份和增量備份。
鏡像整個目錄樹和文件系統
增量同步,減少同步時間,提高備份效率。
保持原有文件的權限,時間,links等屬性。
加密傳輸,保證數據安全性。
支持匿名傳輸
rysnc的主頁為: https://rsync.samba.org/download.html。下載的版本為:**rsync-3.1.3**版本。
[root@db ~]# tar zxvf rsync-3.1.3.tar.gz [root@db ~]# cd rsync-3.1.3 [root@db rsync-3.1.3]# ./configure [root@db rsync-3.1.3]# make [root@db rsync-3.1.3]# make install
客戶端: Platform : Linux 86_64 Server Name : db01.zsd.com, IP: 172.17.4.201 服務器端: Platform : Linux 86_64 Server Name : db02.zsd.com, IP: 172.17.4.202
場景效果:【172.17.4.201】的Oracle RMAN
備份文件傳輸至【172.17.4.202】中。
在【172.17.4.202】做服務器的相關配置。
安裝rysnc
[root @db ~]# tar zxvf rsync-3.1.3.tar.gz [root @db ~]# cd rsync-3.1.3 [root @db rsync-3.1.3]# ./configure [root @db rsync-3.1.3]# make [root @db rsync-3.1.3]# make install
服務器端配置/etc/rsyncd.conf
[root @db backup]# mkdir -p /backup/oracle_full_201/ [root @db backup]# mkdir -p /backup/zsd_test_201/ [root @db etc]# vi /etc/rsyncd.conf #__________________________________ #created by zsd 2019-03-28 ##rsyncd.conf start## uid = root gid = root use chroot = no max connections = 200 timeout = 600 pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock log file = /var/log/rsyncd.log #__________________________________ ###############backupfile01################ [oracle_full_201] path = /backup/oracle_full_201/ ignore errors read only = false list = false hosts allow = 172.17.4.201 hosts deny = 0.0.0.0/32 auth users = rsync_backup secrets file = /etc/rsync.password ###############backuptest01################ [zsd_test_201] path = /backup/zsd_test_201/ ignore errors read only = false list = false hosts allow = 172.17.4.201 hosts deny = 0.0.0.0/32 auth users = rsync_backup secrets file = /etc/rsync.password
配置密碼文件
[root @db etc]# vi /etc/rsync.password rsync_backup:zsd7101 [root @db etc]# chmod 600 /etc/rsync.password
服務器端啟動rsync守護進程
[root @db etc]# /usr/local/bin/rsync --daemon
額外技能(Oracle RMAN的全備)—可選項
[oracle @db logs]$ rman target / RMAN> run { allocate channel c1 device type disk format '/u01/app/backup/rman/%U-%T.full'; allocate channel c2 device type disk format '/u01/app/backup/rman/%U-%T.full'; allocate channel c3 device type disk format '/u01/app/backup/rman/%U-%T.full'; backup database plus archivelog delete all input; release channel c1; release channel c2; release channel c3; }
這里不做過多的細節描述,目的:對Oracle數據庫做一個全備。最終遠程備份【/u01/app/backup/rman/】目錄數據。
設置密碼文件
[root @db ~]# vi /etc/rsync.password zsd7101
其中如果需要oracle
用戶,傳輸備份的話。需要設置如下權限:
[root @db rman]# chown -R oracle:oinstall /etc/rsync.password [oracle @db ~]$ chmod 600 /etc/rsync.password
客戶端[172.17.4.201]傳輸備份
[oracle @db ~]$ rsync -vzrtopg --progress /u01/app/backup/rman/ rsync_backup@172.17.4 .202::oracle_full_201 --password-file=/etc/rsync.password
其中【-vzrtopg】,-v
是--verbose
,即詳細模式輸出;-z
是--compress
即在傳輸時對備份的文件進行壓縮;-r
表示--recursive
,也就是對子目錄以遞歸模式處理,然后傳輸到遠端;-t
表示--times
,保留文件時間信息;-o
表示--owner
,用來保持屬主信息;-p
即--perms
,用來保持文件權限;g即--group
,保留文件的屬組信息。
--progress
,顯示數據鏡像同步的詳細過程。
rsync_backup@172.17.4
.202::oracle_full_201
,表示備份的位置名【oracle_full_201】對應的目錄是:/backup/oracle_full_201/。使用rsync_backup
用戶備份。172.17.4.202
為服務器端的IP。
--password-file=/etc/rsync.password
,保證客戶端和服務器的端密碼一致,保證其正確傳輸。
rsync--delete
和--backup
命令補充
傳輸三個文件至服務器端
[oracle @db zsd]$ pwd /u01/app/zsd [oracle @db zsd]$ echo "you are handsome boy" >> zsd01.log [oracle @db zsd]$ echo "you are handsome boy 02" >> zsd02.log [oracle @db zsd]$ echo "you are handsome boy 03" >> zsd033.log [oracle @db zsd]$ ls zsd01.log zsd02.log zsd033.log ##傳輸文件至服務器端的【zsd_test_201】模塊目錄中 [oracle @db zsd]$ rsync -av --no-iconv --progress --backup --backup-dir=`date +%Y-%m-%d` --delete /u01/app/zsd rsync_backup@172.17.4 .202::zsd_test_201 --password-file=/etc/rsync.password
刪除一個文件,新建一個文件。查看--delete
和--backup
命令作用
[oracle @db zsd]$ rm zsd033.log [oracle @db zsd]$ echo " just for fun" >> zsd04.log [oracle @db zsd]$ rsync -av --no-iconv --progress --backup --backup-dir=`date +%Y-%m-%d` --delete /u01/app/zsd rsync_backup@172.17.4 .202::zsd_test_201 --password-file=/etc/rsync.password
通過看如下日志,發現zsd033.log被刪除,并同步了zsd04.log的日志,并且。zsd033.log文件被放置到了【/backup/zsd_test_201/2019-03-28/zsd】目錄中。
sending incremental file list deleting zsd/zsd033.log zsd/ zsd/zsd04.log 27 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=0/4) ###服務器端的操作 [root @db backup]# cd /backup/zsd_test_201/ [root @db zsd_test_201]# ls 2019-03-28 zsd [root @db zsd]# pwd /backup/zsd_test_201/2019-03-28/zsd [root @db zsd]# ls zsd033.log
其中,--delete
命令,如上,以本地目錄的【/u01/app/zsd】為基準進行數據鏡像同步,保證客戶端的目錄與服務器端的目錄完全一致。--backup
和--backup-dir
,保證上述被移除的文件,放置在backup目錄中,保證完全的備份記錄。
“Linux下Rsync的介紹與使用”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。