linux腳本定時備份數據庫表(詳解)


 

數據庫備份策略

1、備份的數據庫

        服務器:10.10.10.254、10.2.11.10

        數據庫:gps6

        備份的表: user_info alarminfo electronic_fence jpush last_point nav_device_info nav_mac_type_client_type_group nav_target_group nav_target_group nav_voice_recode sim_info user_device_tmp user_email user_info user_order web_column_info web_sms_send web_user_mail web_user_relevance_mac

 

 

 

2、備份數據

          備份腳本:/data/mysql.sh

                   數據庫備份地址:/data/mysql/backup

                   定時執行腳本:0 3 * * * /data/mysql.sh

                   執行時間:每天凌晨3:00執行

                   備份保存:15天

 

 

 

3、實行流程

1)         創建備份腳本/data/mysql.sh

#!/bin/bash

#設置mysql備份目錄

folder=/data/mysql/backup

cd $folder

 

day=`date +%Y%m%d`

rm -rf $day

mkdir $day

cd $day

 

#數據庫服務 ip

host=localhost

#用戶名

user=root

#密碼  #&這些需要轉義加\

password=fhxt\&cl15\#

 

#要備份的數據庫

db=gps6

 

#需要備份的 tables

tables=(user_info alarminfo electronic_fence jpush last_point nav_device_info nav_mac_type_client_type_group nav_target_group nav_target_group nav_voice_recode sim_info user_device_tmp user_email user_info user_order web_column_info web_sms_send web_user_mail web_user_relevance_mac)

 

echo "================  開始備份..  ================="

# 遍歷備份的數據庫表

for t in ${tables[@]};

do

    backup_file="${t}.sql"

 

if [ ! -e "$backup_file" ];

then

    rm -f "$backup_file"

fi

   # 最核心的就是這句話,使用mysqldump命令執行備份

   # $db $t  數據庫  相應的表

   mysqldump -h${host} -u${user} -p${password}  $db $t >$backup_file

done

finish_date=`date '+%Y-%m-%d %H:%M:%S'`

echo "================  結束備份...  at ${finish_date}.==="

 

 

#數據要保留的天數

days=15

 

 

cd ..

day=`date -d "$days days ago" +%Y%m%d`

#刪除 相應的文件

rm -rf $day

 

 

  

2)         編寫定時執行腳本命令

         執行命令:crontab -e   

         添加定時腳本:0 3 * * * /data/mysql.sh

 

3)         查看定時任務

         命令:crontab -l

        

 


免責聲明!

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



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