天天看點

使用linux shell腳本備份

簡單備份 我們先看一個簡單但功能強大的歸檔機制。我們檢視一個名為 arc 的簡單腳本,該腳本支援從 Linux 的 shell 提示符建立備份快照。

清單 1: arc 的 shell 腳本
#!/bin/sh
   tar czvf $1.$(date +%Y%m%d-%H%M%S).tgz $1
   exit $?
      

arc 腳本接受單個檔案或目錄名作為參數,建立壓縮的歸檔檔案,并将目前日期嵌入到生成的歸檔檔案名中。例如,如果存在一個名為 beoserver 的目錄,那麼可以調用 arc 腳本并将 beoserver 目錄名傳遞給該腳本來建立壓縮的歸檔檔案,比如 beoserver.20040321-014844.tgz。 使用指令

date

嵌入日期和時間戳有助于組織歸檔檔案。日期格式是年、月、日、小時、分鐘和秒 —— 但是秒字段的 使用可能有點多餘。查閱 date 指令的手冊(

man date

)可以了解該指令的其他選項。而且在清單 1 中,選項

-v

(verbose) 被傳遞給

tar

。該選項訓示

tar

顯示所有正在歸檔的檔案。如果希望備份過程靜默進行,那麼請去除選項

-v

清單 2:将 beoserver 目錄歸檔
$ ls
   arc  beoserver
   $ ./arc beoserver
   beoserver/
   beoserver/bookl.dat
   beoserver/beoserver_ab_off
   beoserver/beoserver_ab_on
   $ ls
   arc  beoserver  beoserver.20040321-014844.tgz
個人補充:      
使用cron實作備份      
service crond start啟動cron備份程式      
crontab -e編輯備份指令,其實是在/var/spool/cron下,以目前使用者名為文檔名的檔案      
*/10 * * * * tar czf /root/`date +\%y\%m\%d-\%H\%M\%S.tar.gz` -P /root
每10分鐘歸檔壓縮/root下的檔案,以目前時間不文檔名,存放在/root下      

轉載于:https://blog.51cto.com/allenyu/162330

繼續閱讀