按表備份資料庫指令碼

2021-10-10 02:36:33 字數 1523 閱讀 6182

#!/bin/bash

# mysql使用者

username="root"

# mysql密碼

password="123456"

# 需要定時備份的資料表列表

dbname=test

#當前年月

nowmonth=`date -d "now" +%y%m`

nowdate=`date -d "now" +%y%m%d%h`

olddate=`date -d "-1 day" +%y%m%d%h`

#檔案路徑

backup_dir=/www/backup

dumpfile=/www/backup/"$dbname"_"$nowdate"

olddumpfile=/www/backup/"$dbname"_"$olddate"

#如果不存在該目錄,就建立

if [ ! -d $dumpfile ]

then

mkdir -p "$dumpfile"

fi#建立備份日誌

echo "開始備份資料庫 $dbname" >> $backup_dir/backup.log

#輸出當前時間

date --date='0 days ago' "+%y-%m-%d %h:%m:%s" >> $backup_dir/backup.log

#獲取表名

table=$(/usr/local/mysql/bin/mysql --socket=/usr/local/mysql/mysql.sock -u$username -p$password $dbname -e "show tables;" | sed '1d')

for tb in $table; do

if [[ $tb =~ ^test_captures_|test_visitors_ ]]; then

month=$

if [[ "$month" < "$nowmonth" ]]; then

continue

fifi

#備份檔案名

dumpname=""$tb".sql"

/usr/local/mysql/bin/mysqldump --socket=/usr/local/mysql/mysql.sock -u$username -p$password $dbname $tb > $newdir/$dumpfile/$dumpname

done

echo "" >> $backup_dir/log.txt

#輸出當前時間

date --date='0 days ago' "+%y-%m-%d %h:%m:%s" >> $backup_dir/backup.log

echo "資料庫備份完成 $dbname" >> $backup_dir/backup.log

# 刪除過期備份資料

if [ -d $olddumpfile ];

then

rm -rf $olddumpfile

fi

mysql 備份資料庫指令碼

一段常用db備份指令碼 1 bin bash 2 create by yunfei.heyf 3 program for backup mysql with mysqldump 4 5 6 bakdir home admin backup 7 dumpcmd usr bin mysqldump ur...

shell指令碼備份資料庫

自學使用shell指令碼備份資料庫,記錄一下 bin bash 定義變數 backdir mysql back date y m d t mysqldb 要備份的資料庫 mysqldb mysql mysqlusr root 手動輸入資料庫密碼 read p enter your password ...

innobackupex備份資料庫指令碼

bin bash xixi date a 星期 mulu date f 2019 03 04 sjk zuixin ls lt backup sed n 2p awk 取 backup目錄最新得目錄 mu zuixin ls lt backup sjk zuixin sed n 2p awk 取 b...