shell 備份資料庫分表備份

2021-08-29 04:36:07 字數 1362 閱讀 4775

對資料庫分表備份。

#!/bin/sh

# 定義資料庫連線引數

db_host=127.0.0.1

db_port=3306

db_username=root

db_password=123456

#定義當前伺服器要備份的資料庫

db_name=(bajie beidailu)

#定義要忽略的資料表

ignore_table=(snake_articles snake_group wxshop_admin)

#獲取當前日期

today=`date +%y-%m-%d`

#定義檔案儲存目錄

backup_dir=/users/xubin/backup

#遍歷資料表

for db in $;

do#獲取當前資料庫的所有表`

tables=`mysql -h$ -u$ -p$ -bse "use $db;show tables"`

for tabs in $

do if [[ "$" =~ $tabs ]];then

echo $tabs

else

dump_dir=$backup_dir/$today/$db

if [ ! -d "$dump_dir" ];then

mkdir -p $dump_dir

fimysqldump -u$ -p$ $ $tabs 2>/dev/null | gzip>$dump_dir/$tabs.sql.gz

fi done

done

#清理10天之前的備份資料

cd /users/xubin/backup

rm -rf `find . -name "*" -mtime +10`

注釋:

查詢檔案更新日時在距現在時刻二天以內的檔案

find ./ -mtime -2

查詢檔案更新日時在距現在時刻二天以上的檔案

find ./ -mtime +2

查詢檔案更新日時在距現在時刻一天以上二天以內的檔案

find ./ -mtime 2

查詢檔案更新日時在距現在時刻二分以內的檔案

find ./ -mmin -2

查詢檔案更新日時在距現在時刻二分以上的檔案

find ./ -mmin +2

查詢檔案更新日時在距現在時刻一分以上二分以內的檔案

find ./ -mmin 2

這個時間是檔案的建立時間不是檔名稱

使用效果:

Mysql資料庫備份 資料庫備份和表備份

mysql中資料備份使用的命令是 mysqldump命令將資料庫中的資料備份成乙個文字檔案。表的結構和表中的資料將儲存在生成的文字檔案中。mysqldump命令的 工作原理很簡單。它先查出需要備份的表的結構,再在文字檔案中生成乙個create語句。然後,將表中的所有記錄轉換成一條insert語句。然...

shell指令碼備份資料庫

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

RMAN備份 資料庫備份

備份片檔名萬用字元 c 備份片的拷貝數 d 位於該月中的第幾天 dd m 位於該年中的第幾月 mm f 乙個基於dbid 唯一的名稱,這個格式的形式為c iiiiiiiiii yyyymmdd qq,d 資料庫名稱其中iiiiiiiiii 為該資料庫的dbid,yyyymmdd 為日期,qq 是乙個...