[root@localhost mysql_bak]# cat mysql_bak.sh
#!/bin/bash
#shell command for backup mysql database everyday automatically by crontab
#author : cc
#date : 2013-10-18
user=root
#資料庫使用者名稱
password=cucrzmysql
#資料庫使用者密碼
#database=idssr
#資料庫名稱
for database in `ls /mysql/data/mysql/ | grep idss` #資料庫名稱
backup_dir=/mysql_bak
#備份檔案儲存路徑
logfile=/mysql_bak/data_backup.log #日記檔案路徑
date=`date '+%y%m%d-%h%m'`
#日期格式(作為檔名)
dumpfile=$database-$date.sql
#備份檔案名
archive=$database-$date.sql.tgz #壓縮檔案名
date_5=`date -d "-5 day" +%y%m%d`
#判斷備份檔案儲存目錄是否存在,否則建立該目錄
if [ ! -d $backup_dir ];then
mkdir -p "$backup_dir"
fi#開始備份之前,將備份資訊頭寫入日記檔案
echo " ">> $logfile
echo "----------------------">> $logfile
echo "backup date:" $(date +"%y-%m-%d %h:%m:%s") >> $logfile
echo "----------------------">> $logfile
#切換至備份目錄
cd $backup_dir
#刪除五天前的備份檔案
rm -rf $database-$date_5*
#使用mysqldump 命令備份制定資料庫,並以格式化的時間戳命名備份檔案
mysqldump --opt $database -uroot -pcucrzmysql > /$backup_dir/$dumpfile
#判斷資料庫備份是否成功
if [[ $? == 0 ]]; then
#建立備份檔案的壓縮包
tar czvf $archive $dumpfile >> $logfile 2>&1
#輸入備份成功的訊息到日記檔案
echo "[$archive] backup successful!" >> $logfile
#刪除原始備份檔案,只需保 留資料庫備份檔案的壓縮包即可
rm -f $dumpfile
else
echo "database backup fail!" >> $logfile
#備份失敗後向**管理者傳送郵件提醒,需要mailutils或者類似終端下傳送郵件工具的支援
#mail -s 「database:$database daily backup fail」 $webmaster
fi#輸出備份過程結束的提醒訊息
echo "backup process done"
done
mysql備份指令碼以及刪除前5天的備份檔案
mysql備份指令碼在網上有很多的,本文介紹下如何刪除前5天的備份檔案。user root 資料庫使用者名稱 password cucrzmysql 資料庫使用者密碼 database idssr 資料庫名稱 for database in ls mysql data mysql grep idss...
批量備份,刪除MySQL表 python指令碼
批量備份,刪除mysql表 python指令碼 usr bin env python coding utf 8 本指令碼主要用來批量刪除以rbcn開頭命名,以數字結尾的表。先找出此類表,備份,遠端拷貝 由於本主機的空間不足 刪除本地備份檔案,刪除庫表。引入mysql模組 import mysqldb...
linux下面自動打包備份並且刪除5 天前的檔案
專案要求 1.自動打包某乙個檔案目錄,2.自動將打包檔案放置至乙個指定目錄 3.自動清除5天前的檔案 實現 1.使用crontab 進行定時備份 2.使用tar壓縮 3.使用shell算出日期 remove 舊檔案 4.在 usr sbin目錄中加入備份檔案 baksvn bin sh rq dat...