最近整理了下公司的資料備份情況。以下是部分操作的過程
1、rsync資料備份,具體備份過程就不詳細介紹。資料都備份在/bakup目錄下
2、删除過期資料及空目錄
公司的備份資料量比較大,必須及時清除過期資料。
1
2
3
4
5
6
7
<code>echo</code> <code>"日期:$(date +%Y-%m-%d);以下是以過期31天的檔案:"</code> <code>> </code><code>/var/log/delete</code><code>.log</code>
<code>find</code> <code>/bakup</code> <code>-mtime +31 -name </code><code>"*"</code> <code>>> </code><code>/var/log/delete</code><code>.log</code>
<code>find</code> <code>/bakup</code> <code>-mtime +31 -name </code><code>"*"</code> <code>-</code><code>type</code> <code>f -</code><code>exec</code> <code>rm</code> <code>-f {} \;</code>
<code>#删除bakup目錄下的所有空目錄(會逐級遞删直到不存在任何空目錄)</code>
<code>echo</code> <code>"日期:$(date +%Y-%m-%d);以下是需要删除的空目錄:"</code> <code>>> </code><code>/var/log/delete</code><code>.log</code>
<code>find</code> <code>/bakup</code> <code>-</code><code>type</code> <code>d -empty >> </code><code>/var/log/delete</code><code>.log</code>
<code>find</code> <code>/bakup</code> <code>-depth -empty -</code><code>type</code> <code>d -</code><code>exec</code> <code>rm</code> <code>-r {} </code><code>';'</code>
3、使用tree指令列印備份目錄的結果
<code>/usr/bin/tree</code> <code>-shtN </code><code>/bakup/data</code> <code>>> </code><code>/var/index</code><code>.txt</code>
當備份目錄中存在多份備份資料,列印出來的資料将大量重複。我們隻想看到最新的資料
<code>cd</code> <code>/bakup/data</code>
<code>day=`</code><code>ls</code> <code>-lt|</code><code>awk</code> <code>'NR==2'</code><code>|</code><code>awk</code> <code>'{print $9}'</code><code>`</code>
<code>/usr/bin/tree</code> <code>-shtN </code><code>/bakup/data/</code><code>$day >> </code><code>/var/index</code><code>.txt</code>
tree指令簡單介紹下
參數
-a:顯示所有檔案和目錄;
-A:使用ASNI繪圖字元顯示樹狀圖而非以ASCII字元組合;
-C:在檔案和目錄清單加上色彩,便于區分各種類型;
-d:先是目錄名稱而非内容; -D:列出檔案或目錄的更改時間;
-f:在每個檔案或目錄之前,顯示完整的相對路徑名稱;
-F:在執行檔案,目錄,Socket,符号連接配接,管道名稱名稱,各自加上"*","/","@","|"号;
-g:列出檔案或目錄的所屬群組名稱,沒有對應的名稱時,則顯示群組識别碼;
-i:不以階梯狀列出檔案和目錄名稱;
-l:<範本樣式> 不顯示符号範本樣式的檔案或目錄名稱;
-l:如遇到性質為符号連接配接的目錄,直接列出該連接配接所指向的原始目錄;
-n:不在檔案和目錄清單加上色彩;
-N:直接列出檔案和目錄名稱,包括控制字元;
-p:列出權限标示;
-P:<範本樣式> 隻顯示符合範本樣式的檔案和目錄名稱;
-q:用“?”号取代控制字元,列出檔案和目錄名稱;
-s:列出檔案和目錄大小;
-t:用檔案和目錄的更改時間排序;
-u:列出檔案或目錄的擁有者名稱,沒有對應的名稱時,則顯示使用者識别碼;
-x:将範圍局限在現行的檔案系統中,若指定目錄下的某些子目錄,其存放于另一個檔案系統上,則将該目錄予以排除在尋找範圍外。
這條指令中列印出來的樹結構包含了目錄和檔案的大小
用這條語句把目錄的大小[4.0K]替換掉,出來的結果就是隻顯示檔案大小的樹結構。
<code>/bin/sed</code> <code>-i </code><code>'s/\[4\.0K\] //g'</code> <code>/var/index</code><code>.txt</code>
你可以在頁面上顯示出來,也可以定時郵件發送給運維人員!
<code>/bin/mail</code> <code>-s </code><code>"備份資料"</code> <code>"****@qq.com"</code> <code>< </code><code>/var/index</code><code>.txt</code>
<a href="http://s4.51cto.com/wyfs02/M00/84/2C/wKioL1eHXzziBpMVAAB4lWr2BqE561.jpg" target="_blank"></a>
本文轉自 irow10 51CTO部落格,原文連結:http://blog.51cto.com/irow10/1826458,如需轉載請自行聯系原作者