Centos 備份常用命令

在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/bash
mount -t cifs -o username="用戶名",domain="域名",password="密碼" //遠程服務器/目錄  
cd /var
    tar -jpcf  /home/backup/mrcrm.$(date +%Y-%m-%d-%H%M%S).tar.bz2 mrcrm
cd /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

推薦鳥哥的第二十章、基礎系統設定與備份策略。裏面描寫更詳細和清晰。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章