(轉)rsync數據備份方案

rsync數據備份方案

原文:http://blog.51cto.com/irow10/1826458bash

最近整理了下公司的數據備份狀況。如下是部分操做的過程運維

一、rsync數據備份,具體備份過程就不詳細介紹。數據都備份在/bakup目錄下spa

二、刪除過時數據及空目錄3d

公司的備份數據量比較大,必須及時清除過時數據。code

1
2
3
4
5
6
7
echo  "日期:$(date +%Y-%m-%d);如下是以過時31天的文件:"  /var/log/delete .log
find  /bakup  -mtime +31 -name  "*"  >>  /var/log/delete .log
find  /bakup  -mtime +31  -name  "*"  - type  f  - exec  rm  -f {} \;
#刪除bakup目錄下的全部空目錄(會逐級遞刪直到不存在任何空目錄)
echo  "日期:$(date +%Y-%m-%d);如下是須要刪除的空目錄:"  >>  /var/log/delete .log
find  /bakup  - type  d -empty >>  /var/log/delete .log
find  /bakup  -depth  -empty - type  d - exec  rm  -r {}  ';'

三、使用tree命令打印備份目錄的結果blog

1
/usr/bin/tree  -shtN  /bakup/data  >>  /var/index .txt

當備份目錄中存在多份備份數據,打印出來的數據將大量重複。咱們只想看到最新的數據排序

1
2
3
cd  /bakup/data
day=` ls  -lt| awk  'NR==2' | awk  '{print $9}' `
/usr/bin/tree  -shtN  /bakup/data/ $day >>  /var/index .txt

tree命令簡單介紹下ci

參數get

-a:顯示全部文件和目錄;string

-A:使用ASNI繪圖字符顯示樹狀圖而非以ASCII字符組合;

-C:在文件和目錄清單加上色彩,便於區分各類類型;

-d:先是目錄名稱而非內容; -D:列出文件或目錄的更改時間; 

-f:在每一個文件或目錄以前,顯示完整的相對路徑名稱; 

-F:在執行文件,目錄,Socket,符號鏈接,管道名稱名稱,各自加上"*","/","@","|"號; 

-g:列出文件或目錄的所屬羣組名稱,沒有對應的名稱時,則顯示羣組識別碼; 

-i:不以階梯狀列出文件和目錄名稱; 

-l:<範本樣式> 不顯示符號範本樣式的文件或目錄名稱; 

-l:如遇到性質爲符號鏈接的目錄,直接列出該鏈接所指向的原始目錄; 

-n:不在文件和目錄清單加上色彩; 

-N:直接列出文件和目錄名稱,包括控制字符; 

-p:列出權限標示;

-P:<範本樣式> 只顯示符合範本樣式的文件和目錄名稱; 

-q:用「?」號取代控制字符,列出文件和目錄名稱; 

-s:列出文件和目錄大小; 

-t:用文件和目錄的更改時間排序; 

-u:列出文件或目錄的擁有者名稱,沒有對應的名稱時,則顯示用戶識別碼; 

-x:將範圍侷限在現行的文件系統中,若指定目錄下的某些子目錄,其存放於另外一個文件系統上,則將該目錄予以排除在尋找範圍外。

 

這條命令中打印出來的樹結構包含了目錄和文件的大小

 

1
/usr/bin/tree  -shtN  /bakup/data/ $day >>  /var/index .txt

用這條語句把目錄的大小[4.0K]替換掉,出來的結果就是隻顯示文件大小的樹結構。

1
/bin/sed   -i  's/\[4\.0K\]  //g'  /var/index .txt

你能夠在頁面上顯示出來,也能夠定時郵件發送給運維人員!

1
/bin/mail  -s  "備份數據"  "****@qq.com"  /var/index .txt

wKioL1eHXzziBpMVAAB4lWr2BqE561.jpg

相關文章
相關標籤/搜索