#!/bin/bash db_user="root" #定義鏈接數據庫的用戶名 db_passwd="qweQWErty321" #定義鏈接鏈接數使用的密碼 db_host="localhost" #定義鏈接哪臺數據庫(localhost本機) db="appmarket" #定義須要備份的數據庫庫名 backup_dir="/data/db_backup" #定義將數據庫備份在哪一個目錄 time="$(date +"%Y-%m-%d")" #獲取當前日期 MYSQLDUMP="/usr/bin/mysqldump" #定義mysqldump的絕對路徑 GZIP="/bin/gzip" #定義gzip的絕對路徑 if [ ! -w $backup_dir ] #判斷備份目錄是否有寫的權限 then echo "Error:$backup_dir is un_writeable." exit 0 fi if [ ! -d $backup_dir ] #判斷備份目錄是不是一個目錄 then echo "Error:$backup_dir is not directory." exit 0 fi function backup_db(){ $MYSQLDUMP -h$db_host -u$db_user -p$db_passwd $db | $GZIP -9 > "$backup_dir/$db.$time.gz" #使用mysqldump命令備份數據庫並壓縮 } backup_db #調用backup_db函數
注:該腳本只做本身使用,僅僅爲一個備份數據庫功能,沒做細節優化mysql