讓 Linux 每天自動備份且存留 7 天簡單的方法
by 資訊藝術家 • 2009/04/06 • linux • 3 Comments
運用 Linux 內建的 logrotate 及 Cron 來達成自動備份 7 天的方式
Step 1.
先確定要備份的東西所在的位置, 如 /var/www/html/ 所有的東西,
且每天都要備份到 /backup/ 裡面
Step 2. 建立排程(Cron)壓縮 /var/www/html/ 所有的檔案
以下我是以每天早上 1:00 來自動執行壓縮(最好已 root 來建立)
#crontab -e 新增以下這行 0 1 * * * /bin/tar zcvf /backup/www.tar.gz /var/www/html/* > /dev/null 2>&1
Step 3. 在 /backup/ 建立一個 logrotate 的規則檔如 backup.log 檔案內容如下
# vi backup.log /backup/*gz { missingok notifempty sharedscripts postrotate endscript rotate 7 }
Step 4. 建立排程進行 logrotate, 以下是 12:58 進行 logrotate.
#crontab -e 58 0 * * * /usr/sbin/logrotate -f /backup/backup.log > /dev/null 2>&1
以上動作完成後就完成啦 !!
運作幾天後, 在 /backup/ 就可以看到如以下的狀況 !!
#ls -l -h 總計 1.9G -rw-r--r-- 1 root root 105 3月 30 16:12 backup -rw-r--r-- 1 root root 250M 4月 6 01:00 www.tar.gz -rw-r--r-- 1 root root 250M 4月 5 01:00 www.tar.gz.1 -rw-r--r-- 1 root root 250M 4月 4 01:00 www.tar.gz.2 -rw-r--r-- 1 root root 241M 4月 3 01:00 www.tar.gz.3 -rw-r--r-- 1 root root 221M 4月 2 01:00 www.tar.gz.4 -rw-r--r-- 1 root root 220M 4月 1 01:00 www.tar.gz.5 -rw-r--r-- 1 root root 231M 3月 31 01:00 www.tar.gz.6 -rw-r--r-- 1 root root 231M 3月 30 01:00 www.tar.gz.7