mysql自動備份和刪除舊備份

2022-09-07 11:09:09 字數 2567 閱讀 3107

1、mysql自動備份指令碼

# vi /opt/scritps/db_backup.sh

#!/bin/bash

user=root

password=123456

database1=test-db1

#database2=test-db2

backup_dir="

/opt/data_bankup/

"logfile=/opt/data_bankup/data_backup.log

date=`date +%y%m%d-%h%m`

dumpfile2=imserver-$date.sql

archive1=$dumpfile1-tar

.gzarchive2=$dumpfile2-tar

.gz#

### backup test-db1 database ###

if [ ! -d $backup_dir ];then

mkdir -p "

$backup_dir"fi

echo -e "

\n" >>$logfile

echo

"------------------------------------

" >>$logfile

echo

"backup date:$date

" >>$logfile

echo

"------------------------------------

" >>$logfile

cd $backup_dir

/opt/thirdsoft-installed/mysql/mysql/bin/mysqldump -u$user -p$password $database1 >$dumpfile1

if [[ $? == 0 ]];then

tar -zcf $archive1 $dumpfile1 >> $logfile 2>&1

echo

"$database1 database backup successful!

" >>$logfile

rm -f $dumpfile1

else

echo 「$database1 backup fail!」 >>$logfilefi#

### backup test-db2 database ###

/opt/thirdsoft-installed/mysql/mysql/bin/mysqldump -u$user -p$password $database2 >$dumpfile2

if [[ $? == 0 ]];then

tar -czf $archive2 $dumpfile2 >> $logfile 2>&1

echo

"$database2 database backup successful!

" >>$logfile

rm -f $dumpfile2

else

echo

"$archive2 backup fail!

" >>$logfile

fi

2、批量刪除n天前的舊備份

# vi /opt/scritps/del_olddb_backup.sh

#!/bin/bash

backupdir="

/opt/data_bankup/

"keeptime=15

//需要刪除的檔案距離當前的天數

delfile=`find $backupdir -type f -mtime +$keeptime -exec ls

{} \;`

for delfile in

$rm -f $delfile

done

3、設定計畫任務

# crontab -e

02 * * * root /opt/scritps/db_backup.sh /dev/null

2>&1

#定義每天凌晨2點執行備份資料庫指令碼

03 * * 0 root /opt/scritps/del_olddb_backup.sh /dev/null

2>&1

#定義每週日凌晨3點執行刪除資料庫備份檔案

crontab 時間表示

專案含義

範圍第乙個"*"           

一小時當中的第幾分鐘(minute)

0~59

第二個"*"

一天當中的第幾小時(hour)

0~23

第三個"*"

乙個月當中的第幾天(day)

1~31

第四個"*"

一年當中的第幾個月(month)

1~12

第五個"*"

一周當中的星期幾(week)

0~7(0和7都代表星期日)

Linux「自動備份 刪除」MYSQL

linux 自動備份 mysql 1 建立備份檔案夾 cd data0 mysql 3306 makedir backup 2 編寫執行指令碼 vi autobackup 寫入以下內容 filename date y m d mysql bin dir mysqldump d dataname u ...

mysql 自動備份許可權 Mysql 自動備份

很簡單的乙個自動備份方案 bas 件 backup.sh bin bash dbuser root dbpwd 123456 dbname jam00 delbackpath usr local mysql backup dbname date d 7 days ago y m d sql.gz r...

mysql自動備份開啟 MySQL自動備份

mysql user root 使用者名稱 mysql password password 密碼 mysql host localhost ip mysql port 3306 埠號 mysql charset utf8 編碼方式 backup db arr db name 要備份的資料庫名稱,多個...