MySQL乙個備份資料表 180天前 的指令碼

2021-09-26 10:27:51 字數 1609 閱讀 1782

前兩天寫了乙個刪除180天的備份指令碼。 

今天領導說,需要對那些刪除的表做備份操作,之後放在冷盤上供後續審計。

具體指令碼如下:

#!/bin/bash

# mysql vars

db_host=$1

db_point=$2

db_user=$3

db_pass=$4

db_name="zactemp"

mysqldump_opt="--opt --events --ignore-table=mysql.events --set-gtid-purged=off "

# others vars

date=`date +%y%m%d_%h%m`

bin_dir="/usr/local/mysql/bin"

back_dir="/data/backup/mysql/$/$/$"

# get table_names

table_names=`$/mysql -h$ -u$ -p$ -d $ -e "select t.table_name from information_schema.tables t where t.table_schema = '$' and t.create_time <= date_add(now(),interval -180 day) and t.create_time > date_add(now(),interval -181 day);" | egrep -v "table_name"`

# todo mysqldump

[ -d $ ] || mkdir -p $

# mysqldump all databases

echo "**********$databases backups start**********" >>$/../mysqldump_backup.log

for table_name in $; do

sleep 1

$/mysqldump $ -h$ -p$ -u$ -p$ -b $ --tables $ > $/$_$.sql

[ $? == 0 ] && echo "$:mysqldump $ success." >>$/../mysqldump_backup.log || echo "$:mysqldump $ err,please check." >>$/../mysqldump_backup.log

done

echo "**********$databases backups over**********" >>$/../mysqldump_backup.log

# tar backup

cd $/../ && tar -zcvf $.tar.gz $ --remove-files

再配合這個以下指令碼可以實現多台機器一起備份

#!/bin/bash

cd /root/crontab_shell

#./zactemp_dumper.sh 127.0.0.1 3306 za_root password

./zactemp_dumper.sh 10.18.32.9 3306 za_root password

再配合之前那個定期刪除的,就可以形成自動備份自動清理。

mysql遷移 備份資料表,匯出表資料與結構

在伺服器上部署的爬蟲成功的爬取了一些資料,現在需要把這個表遷移到另一台主機 mysql u 使用者名稱 p輸入密碼後進入mysql命令列 顯示資料庫的表 show databases use information schema 通過顯示表的大小,確認爬取的表是哪個表 select table na...

Mysql資料表備份

用mysqldump備份資料 同mysqlimport一樣,也存在乙個工具mysqldump備份資料,但是它比sql語句多做的工作是可以在匯出的檔案中包括sql語 句,因此可以備份資料庫表的結構,而且可以備份乙個資料庫,甚至整個資料庫系統。mysqldump options database tab...

mysql備份,備份資料,資料庫,表結構

mysql mysqldump 這裡我的資料庫先叫做xmen 備份資料庫 如下 mysqldump 資料庫名 資料庫備份名 mysqldump a u使用者名稱 p密碼 資料庫名 資料庫備份名 mysqldump d a add drop table uroot p sql 1.匯出結構不匯出資料 ...