用 AutoMySQLBackup 備份 MySQL,並加入清除舊備份功能
除了 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,訊息也會產生在同一份報表之中。
留言
張貼留言
回應不用錢,請多多益善!懶得寫字按個讚也是相當感謝!