shell腳本編程——mysql數據庫備份

shell可以做一些繁雜且重複的事,用來做數據庫備份很合適

代碼如下

#!/bin/bash

#主機
HOST=localhost
#用戶名
DB_USER=root
#密碼
DB_PWD=adminadmin
#數據庫
DBTABASE=gitea

#備份目錄
BACKUP=/root/shell/db

#當前時間作爲文件名
DATETIME=$(date +%Y_%m_%d_%H%M%S)


#創建備份的路徑
[ ! -d "$BACKUP/$DATETIME" ] && mkdir -p "$BACKUP/$DATETIME"
echo “備份路徑$BACKUP/$DATETIME 創建成功”

#執行mysql的備份數據庫指令
mysqldump -u${DB_USER} -p${DB_PWD} --host=$HOST $DATABASE | gzip > $BACKUP/$DATETIME/$DATETIME.sql.gz
echo "備份數據庫文件$BACKUP/$DATETIME/$DATETIME.sql.gz 成功"

#打包備份文件
cd $BACKUP
tar -zcvf $DATETIME.tar.gz $DATETIME
echo "打包成$DATETIME.tar.gz 成功"

#刪除臨時目錄
rm -rf $BACKUP/$DATETIME
echo "刪除臨時目錄$BACKUP/$DATETIME 成功"

#刪除10天前的備份數據
find $BACKUP -mtime +10 -iname "*.tar.gz" -exec rm -rf {} \;
echo "刪除$BACKUP目錄10天前的備份*.tar.gz數據成功"
echo "================備份文件成功==============="

再加入linux  cron定時任務中,可以實現定時備份數據,而且刪除十天前的數據

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