old « 湯島天神の梅まつりとメジロとすずめ。 | メイン | CP+ 2017に行ってきた » new

指定したファイルを定期的にバックアップする

2017年02月17日

毎日DBを更新するプログラムをcronに登録したので、そのファイルを毎日バックアップするスクリプトを作った。

参考:Linuxで定期的にバックアップを取得する

上記サイトのスクリプトほぼそのまま。

#!/bin/bash

# バックアップ先
BACKUP_DIR=~/public_html/kazegusuri.net/db/#bk

# バックアップ対象フォルダ
TARGET_DIR=~/public_html/kazegusuri.net/db/

# バックアップ対象ファイル
TARGET_FILE=kazegusuri.sqlite3

# バックアップ後のファイル名
BACKUP_FILE_NAME=kazegusuri.sqlite3-`/bin/date +%Y%m%d`.tar.gz

# 今日の日付
DATE=`/bin/date '+%Y%m%d'`

# 削除する日付(14日分残す)
touch -m -d `(/bin/date -d '-14 day' +%Y%m%d)` /tmp/wpbk

# バックアップ処理
cd $TARGET_DIR
tar czfp $BACKUP_FILE_NAME $TARGET_FILE
mv $BACKUP_FILE_NAME $BACKUP_DIR

# 古いバックアップを削除
find $BACKUP_DIR -not -newer /tmp/wpbk -name "*tar.gz" | xargs rm -f

変えたのは以下。
・バックアップ対象をファイル名指定にした
・世代管理を14日分にした
・# 削除する日付(14日分残す) の部分
 「'(`中身`)'」を「`(中身)`」に変えた
・# 古いバックアップを削除 の部分
 パイプの後ろ「rm -f」を「xargs rm -f」に変えた

あとは、cronに登録すればOK。
crontab -e
毎日3時30分にスクリプトを実行。
30 3 * * * /bin/bash -lc ~/script/backup_kazegusuri_db.sh

ちゃんと古いファイルが消されるかは後で確認しておこう。


old « 湯島天神の梅まつりとメジロとすずめ。 | メイン | CP+ 2017に行ってきた » new

トラックバックURL

このエントリーのトラックバックURL:
https://blog.hp-improve.com/mt/mt-tb.cgi/1555

コメントする