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