- 備份是容災的基礎,是指為了防止系統出現操作或系統故障導致數據丟失,而將全部或部分數據集合從應用主機的硬盤或陣列復制到其他的存儲介質的過程
- 為什么備份
- 硬件故障
- 軟件故障
- 誤操作
- 病毒入侵
- 保留歷史記錄
- 災難性事件
- 存儲介質
- 光盤
- 磁帶
- 硬盤
- 磁盤陣列
- DAS:直接附加存儲
- NAS:網絡附加存儲
- SAN:存儲區域網絡
- 云存儲
- 以磁盤存儲為例
-
查看磁盤空間情況:
- 既然是定時備份,就要選擇一個空間充足的磁盤空間,避免出現因空間不足導致備份失敗,數據丟失的惡果
- 存儲在當前磁盤這是最簡單的,卻是最不推薦的,服務器有多塊硬盤,最好是把備份存放在另一塊硬盤上,有條件就選擇更好更安全的存儲介質:
- df -hFilesystem
-
創建備份目錄
- 上面我們使用命令看出/home下空間比較充足,所以可以考慮在/home保存備份文件
- cd /home
- mkdir backupcd backup
-
創建備份shell腳本
- 把以下命令中的DatabaseName換為實際的數據庫名稱,
- vi bkDatabaseName.sh
- sqldump -uusername -ppassword DatabaseName > /home/backup/DatabaseName_$(date + %Y%m%d_%H%M%S).sql
- 對備份進行壓縮
- mysqldump -username -ppassword DatabaseName | gzip > /home/backup/DatabaseName_$(date + %Y%m%d_%H%M%S).sql.gz
- 把username替換為實際的用戶名,把password替換為實際的密碼,把DatabaseName替換為實際的數據庫名
-
添加可執行權限
- chmod u+x bkDatabaseName.sh
- 添加可執行權限之后先執行一下,看看腳本有沒有錯誤,能不能正常使用
- ./bkDatabaseName.sh
-
添加計劃任務
- 檢測或安裝crontab
- 確認crontab是否安裝
- 執行crontab命令,如果報command not found,就表明沒有安裝
- 執行命令:crontab -e
- 這時就像使用vi編輯器一樣,可以對計劃任務進行編輯
- 輸入以下內容并保存:*/1 * * * * /home/backup/bkDatabaseName.sh
- 意思是每一分鐘執行一次shell腳本/home/backup/bkDatabaseName.sh
-
測試任務是否執行
- 執行幾次ls命令,看看一分鐘以后文件有沒有被創建
- 如果任務執行失敗了,可以通過以下命令查看任務日志 tail -f /var/log/cron
-