#!/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...