centos7 自動定時備份mysql數據庫


shell腳本:mysqlbak.sh

#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
export PATH

#備份的路徑
backupdir='/root/database_backup/ywapp2'

#備份的時間
time=`date +%Y%m%d_%H%M%S_%N`

#判斷前一天是否備份 有則清空備份 無則直接備份 

#為了不占內存 備份過程中壓縮文件
files=`ls $backupdir`
if [ -z "$files" ]; then
mysqldump --opt -uroot -p'Nxy123yang' ywapp | gzip > $backupdir/ywapp_$time.sql.gz
else

#清空備份的文件
find $backupdir -name "*.gz" -type f -exec rm -rf {} \; > /dev/null 2>&1
mysqldump --opt -uroot -p'Nxy123yang' ywapp | gzip > $backupdir/ywapp_$time.sql.gz
fi

 

------------------------

備份好的文件格式:ywapp_20170424_203702_130408343.sql.gz

 

借鑒:http://www.jb51.net/article/56553.htm 中if 寫法

http://www.cnblogs.com/platero/p/4021561.html 中判斷文件和文件夾是否存在

-----------------------------------

myFolder=/home/test

files=` ls  $myFolder`
if  [ -z  "$files"  ];  then
      echo  "Folder $myFolder is empty!"
else
      echo  "Folder $myFolder is not empty."
fi
-------------------------------
 判斷文件目錄是否為空

http://blog.sina.com.cn/s/blog_439f80c40101fx5t.html

http://bbs.chinaunix.net/thread-4145980-1-1.html

 

可以參考另一種寫法:

http://www.centoscn.com/shell/2014/0821/3529.html

七天清空一次備份數據

find $backupdir-name "*.tar.bz2" -type f -mtime +7 -exec rm -rf {} \; > /dev/null 2>&1

 

這篇文章可以 備份多個數據庫 並壓縮發送送到自己的郵箱。

http://blog.csdn.net/painsonline/article/details/7717551

這篇文章也不錯

http://www.centoscn.com/mysql/2016/0206/6737.html

 


免責聲明!

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



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