對資料庫分表備份。
#!/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 是乙個...