mysql備份指令碼 以及 刪除前5天的

2021-09-30 10:20:25 字數 1749 閱讀 3175

[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` #資料庫名稱

do#[email protected]

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...