1. 程式人生 > 其它 >演算法-Best Time to Buy and Sell Stock III-買賣股票的最佳時機III

演算法-Best Time to Buy and Sell Stock III-買賣股票的最佳時機III

技術標籤: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

4. 郵件通知成功

在這裡插入圖片描述