定時腳本備份數據庫或某些表

 

備份指定表:

#!/bin/bash

#設置mysql備份目錄

folder=/xx/xxx/xxx

cd $folder



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

rm -rf $day

mkdir $day

cd $day



#數據庫服務 ip

host=localhost

#用戶名

user=xxx

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

password=xxxxx



#要備份的數據庫

db=xxxxx


#需要備份的 tables


tables=(xxxxx  xxxxxxx xxxxxx)
echo "================  開始備份..  ================="

# 遍歷備份的數據庫表

for t in ${tables[@]};

do

    backup_file="${t}.sql"
    echo ${t}


if [ ! -e "$backup_file" ];

then
   echo $backup_file
    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


備份指定庫

 

#!/bin/bash

#設置mysql備份目錄

folder=/xxx/xxx/xxx

cd $folder



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

rm -rf $day

mkdir $day

cd $day

echo ${folder}/${day}/51design.sql.gz

#數據庫服務 ip

host=localhost

#用戶名

user=xxx

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

password=xxx



#要備份的數據庫

db=xxx




  # 最核心的就是這句話,使用mysqldump命令執行備份
  # $db $t  數據庫
  mysqldump -h${host} -u${user} -p${password}  $db |gzip  > ${folder}/${day}/51design.sql.gz


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

 參考過一篇文字寫的,不過忘了是哪個了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章