#!/bin/bash #保存備份個數 number=3 #備份保存路徑 backup_dir=/root/mysqlbackup #日期 dd=`date +%Y%m%d` #備份工具 tool=mysqldump #用戶名 username=mracale #密碼 password=456852 #將要備份的數據庫 database_name=test #簡單寫法 mysqldump -u root -p123456 users > /root/mysqlbackup/users-$filename.dump $tool -u $username -p$password $database_name > $backup_dir/$database_name-$dd.dump #寫建立備份日誌 echo "create $backup_dir/$database_name-$dd.dupm" >> $backup_dir/log.txt #找出須要刪除的備份 delfile=`ls -l -crt $backup_dir/*.dump | awk '{print $9 }' | head -1` #判斷如今的備份數量是否大於$number count=`ls -l -crt $backup_dir/*.dupm | awk '{print $9 }' | wc -l` if [ $count -gt $number ] then rm $delfile //刪除最先生成的備份,只保留number數量的備份 #寫刪除文件日誌 echo "delete $delfile" >> $backup_dir/log.txt fi
自動化備份腳本講解mysql
確認完所要備份的數據及其環境,開始編寫備份腳本,備份腳本分爲兩類:web
1.數據庫備份腳本sql
備份腳本請參考backup_db.sh數據庫
[liutaostdio@WLJY01 lesson8]$ cat backup_db.shapache
[root@WLJY01 lesson8]# sh backup_db.shtomcat
創建數據庫 testdb1備份的文件夾....bash
backup testdb1...less
創建數據庫 testdb2備份的文件夾....工具
backup testdb2...spa
創建數據庫 testdb3備份的文件夾....
backup testdb3...
2.程序和環境備份腳本
備份腳本請參考backup_web.sh
[liutaostdio@WLJY01 lesson8]$ cat backup_web.sh
注意幾個要素的備份:
運行環境的備份
應用程序的備份
tomcat的備份
apache 的備份
Mysql數據庫的備份