如果你在做備份的時後...需要將特定目錄每天備份...但是檔案要保留7天...第8天就覆蓋掉第一天的備份...
以此類推...這時後你可以這樣做~~
這邊有一個簡單的 Shell Script 可以做到.假設命名為
backup_7Days , 主要是抓取星期一 到 星期日 的Number:
引用:
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
s_date=`date '+%Y-%m-%d %H:%M:%S'`;
HEADER="Backup data"
BACKUPDIR="/var/lib/mysql /home/adj"
back_www_dir="/backup/www_data"
echo ${s_date};
#
# 開始備份
#
week_num=$(date +%w);
cd $back_www_dir
for TARGET in $BACKUPDIR
do
base_name=`basename $TARGET`
if [ "$base_name" != "" ]; then
$(tar -jcvPf ${base_name}-${week_num}.tar.bz2 ${TARGET}) > /dev/null 2>&1;
sleep 1;
fi
done
e_date=`date '+%Y-%m-%d %H:%M:%S'`;
echo $e_date;
echo "-------------------------";
exit;
然後設定crontab
引用:
############ Backup Weekend ####################
0 5 * * * /etc/backup_7Days >> /backup/www_data/backup.log
這樣就大功告成啦~~