用 AutoMySQLBackup 備份 MySQL,並加入清除舊備份功能

logo-mysql-110x57

除了 MySQL Replication 以外,我還有用 SourceForge 上的 AutoMySQLBack 來備份 MySQL DB。

寫得夠好了,所以懶得自己寫。

不過,該支 script 沒有寫 purge 的功能,也就是說,備份會不斷的增加,並不會去清除,由於該支 script 有 daily、weekly、monthly 的備份,所以我覺得 daily 的備份保留七天內夠了。

在 automysqlbackup.sh.2.5 的 script 裡找到:

POSTBACKUP=""

然後加進一支在完成備份後要執行的 script,注意路徑,如:

POSTBACKUP="/roo/remove-olddailydb.sh"

然後,用你順手的編輯器來寫這支 script,內容:

#!/bin/sh
#Your Backup DIR, Set it the same as automysqlbackup's BACKUPDIR
BACKUPDIR="/YOUR/BACKDIR"
#Set You want to Keep how many days
KEEPDAYS="7" 

for DD in `ls $BACKUPDIR/daily`
do
     printf "\nRemove Files in $DD older than $KEEPDAYS days..........\n" 
     find $BACKUPDIR/daily/$DD/ -type f -mtime +$KEEPDAYS -exec rm {} \;
done

記得 chmod 這支另外寫的 script,然後執行 automysqlbackup.sh.2.5 就會在備份完之後執行另外這支用來刪除 7 天以上舊 db 備份的 script,訊息也會產生在同一份報表之中。

留言

這個網誌中的熱門文章

在 Excel 裡轉換 Unixtime 格式

有點誇張的準專業機.Minolta Alpha 7 (Dynax 7、Maxxum 7).2000

[古典相機] M 系列快門最速.ME MX 合體.Pentax ME Super.1980