標籤:備份 centos tar
在CentOS上備份,經常使用tar進行打包,備份到遠程目錄可以使用rsync或mount映射遠程目錄,刪除到期備份可以使用find,rm,自動執行可以使用sh指令碼和crontab配合。
提醒大家,所有指令碼請在CentOS下編輯,請勿在windows下編輯後上傳,容易出現格式問題,不能正常執行。
現在已一台CentOS 7伺服器,需要備份的目錄,/var/backup 。備份到SMB共用作為例子說明
首先安裝SMB共用支援,不然mount會出錯
yum install cifs-utils
通過 mount ,將遠程windowns域環境的SMB共用映射到本地目錄
建立映射目錄
mkdir /home/backup
映射遠程目錄
mount -t cifs -o username="使用者名稱",domain="網域名稱",password="密碼" //遠程伺服器/目錄 /home/backup
測試備份命令
進入需要備份目錄的上級目錄
cd /var
使用tar打包需要備份的目錄到映射目錄,tar 格式,tar -參數 /備份檔案存放地址 /備份目錄。
tar 參數,j 使用bzip2壓縮,p 保留檔案屬性,c 建立新的存檔,v 顯示過程,指令碼化時去除。
備份檔案名增加產生日期時間的參數,$(date +%Y-%m-%d-%H%M%S)。
tar -jpcf /home/backup/backup.$(date +%Y-%m-%d-%H%M%S).tar.bz2 backup
自動刪除七天前的備份檔案,find /路徑 -type f -mtime +7 -exec rm -f {} \;
-type f是指定檔案類型為普通檔案,-mtime +7是指7天之前的檔案,#-exec rm -f指執行靜默刪除匹配出來的檔案。
find /home/backup -type f -mtime +7 -exec rm -f {} \;
如果都測試成功,我們就可以開始編寫備份指令碼,記得將指令碼更改為可執行檔
#!/bin/bashmount -t cifs -o username="使用者名稱",domain="網域名稱",password="密碼" //遠程伺服器/目錄 cd /var tar -jpcf /home/backup/mrcrm.$(date +%Y-%m-%d-%H%M%S).tar.bz2 mrcrmcd /home/backup find /home/backup -type f -mtime +7 -exec rm -f {} \;unmount /home/backup
指令碼測試成功,我們可以使用自動執行命令讓指令碼自動在指定時間執行。
crontab -l 查看清單 -e 編輯
參考文章:
http://linux.vbird.org/linux_basic/0610hardware.php
推薦鳥哥的第二十章、基礎系統設定與備份策略。裡面描寫更詳細和清晰。
本文出自 “專註打孔100年” 部落格,請務必保留此出處http://titandeng.blog.51cto.com/823817/1883737
Centos 備份常用命令