python生成lmdb格式檔案及讀取
阿新 • • 發佈:2021-01-03
技術標籤:Shell指令碼MySQL資料庫mysqllinux備份
1. 指令碼內容
#!/bin/bash
#定義陣列
db=$(mysql -e "show databases;" | sed 1d)
data_time=$(date +%F)
#建立資料庫備份目錄
if [ ! -d /home/mysql/data_backup/$data_time ];then
mkdir -p /home/mysql/data_backup/$data_time
fi
#定義資料庫備份函式
db_backup() {
mysqldump --skip-lock-tables -B $1 > /home/mysql/data_backup/$data_time/$1.sql
}
#遍歷陣列進行備份
for i in ${db[*]}
do
db_backup $i
#判斷是否備份成功
find /home/mysql/data_backup/$data_time/$i.sql > /dev/null
#傳送郵件通知備份狀態
if [ $? -eq 0 ];then
mail.py [email protected] "mysql資料庫備份通知" "$i 資料庫備份成功"
else
mail.py [email protected] "mysql資料庫備份告警" "$i 資料庫備份失敗"
fi
done
#刪除30天過期檔案
find /home/mysql/data_backup -type f -mtime +30 -exec rm -f {} \;
2. 測試指令碼
sh db_backup.sh
3. 驗證備份結果
[[email protected]-136 ~]# ls /home/mysql/data_backup/2021-01-06/
information_schema.sql mysql. sql performance_schema.sql test.sql