さくらサーバでファイルを自動バックアップ
さくらサーバ上のファイルも増えてきたのでバックアップしておこうかと、簡単なスクリプトを作成。
#!/bin/sh
PATH=$HOME/bin:/usr/bin
BACKUP_DIR=$HOME/backup
HOLD_DAYS=30
cd $BACKUP_DIR
tar zcf backup_`date +"%Y%m%d"`.tar.gz $HOME --exclude $BACKUP_DIR
find . -mtime +$HOLD_DAYS -exec rm {} \;
sync
exit 0
- 事前に、ホームディレクトリにbackupというディレクトリを作っておく。
- このディレクトリにtarでホームディレクトリ以下をすべてバックアップする。
- ただし、backupディレクトリは対象外とする(当然)。
- シェル変数HOLD_DAYSで指定した日数分だけバックアップファイルを保存する。
- 保存日数は、ディスクの使用量との兼ね合いで見直す。
- tarはGNU版を想定。FreeBSD版でもできるのかもしれないけど、未確認。
このスクリプト(とりあえず、mkbackup.shという名前とする)をcronで起動する。こんな感じ。
% crontab -l
SHELL=/bin/sh
PATH=/home/XXX/bin:/home/XXX/etc:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow command
0 4 * * * mkbackup.sh
- /home/XXXは自分のホームディレクトリ。
- PATH=$HOME/binのようには書けないらしい(展開してくれない)。
ディスカッション
コメント一覧
まだ、コメントがありません