mysql備份腳本shell


vim mysqlbak.sh

#!/bin/bash

user='root'
pass='123456'
date=`date +%Y-%d-%m-%H-%M`
dir="/www/server/data"

#備份單個數據庫
if [ -d $dir ];then

mysqldump -u$user -p$pass gaoxiao | gzip >${dir}/gaoxiao-${date}.sql.gz

else
mkdir -p $dir
mysqldump -u$user -p$pass gaoxiao | gzip >${dir}/gaoxiao-${date}.sql.gz

fi

##備份所有數據庫(本案例是單獨備份了一個庫,然后又備份了全庫,所以這里使用的    $? -eq 0 ,根據實際情況做一些修改即可。)

####(if [ $? -eq 0 ]  這里意思是$?:檢測上一條命令是否成功,成功一般是等於0的,然后如果等於0,那就開始備份全庫)

if [ $? -eq 0 ];then

mysqldump -u$user -p$pass --all-databases | gzip >${dir}/mysqlall-${date}.sql.gz

fi

#刪除大於七天的數據,時間根據公司要求定
find $dir -mtime +7 -name "*.gz" -exec rm -rf {} \;

保存退出。

設置定時任務,案例設置的是每天的23:00開始備份。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM