2011
10.21

shell script 備份 www 目錄

因為上次把自己 VM 不小心刪掉又救回來的那件事情,所以開始著手計畫備份所有資料。

這隻是我寫的 Shell Script,每次執行都會把 $WWW_DIR 下面的所有目錄個別壓縮成 tgz 檔案,並且把 *.tgz 搬移到 $BACKUP_DIR 下面,然後刪掉 $BACKUP_DIR 目錄下大於一個月的備份。

目前我是放到 cron table 裡面跑,每三天會跑一次。

#!/bin/bash

date=`date +%Y-%m-%d`

BACKUP_DIR="/data/www_backup/"
WWW_DIR="/var/www/"
WWW_DIR_CMD=`ls $WWW_DIR`

cd $WWW_DIR

for f in $WWW_DIR_CMD;
do
    backup_file_name=$f
    backup_file_new_name=$f-$date.tgz
    backup_cmd="tar -zcf $date-$backup_file_name.tgz $backup_file_name"
    echo $backup_cmd
    `$backup_cmd`
done

mv_cmd="mv $WWW_DIR*.tgz $BACKUP_DIR"
echo $mv_cmd
`$mv_cmd`

del_cmd="find $BACKUP_DIR -type f -mtime +30 -delete"
echo $del_cmd
`$del_cmd`

如果不想要輸出訊息,就在 crontab 裡面把輸出導向到 /dev/null 即可。

No Comment.

Add Your Comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>