昨日、WordPressのファイルとDBをバックアップするCronを作成しました。
その時の記事はこちら。
本日、Cronによって実行されたと思いますので結果を見ていきます。
EC2にログが出ているはずなので、EC2にSSMで接続します。
そしてログを見てみます。
tail -n 50 /opt/wordpress-backup/backup.log
すると、
=== Backup start: 20260329_030001 ===
[1/4] Dump database...
[2/4] Compress database dump...
[3/4] Archive wordpress files...
tar: Removing leading `/' from member names
[4/4] Upload to S3...
upload: ../../opt/wordpress-backup/20260329_030001/db_20260329_030001.sql.gz to s3://akkeys-lifework-lab-backup/wordpress/db/db_20260329_030001.sql.gz
upload: ../../opt/wordpress-backup/20260329_030001/wp_files_20260329_030001.tar.gz to s3://akkeys-lifework-lab-backup/wordpress/files/wp_files_20260329_030001.tar.gz
=== Backup complete: 20260329_030001 ===
というログで最後に「Backup complete」と出ていた通り、ログをみる限りは成功している模様。しかし、肝心なのはS3にバックアップファイルが保存されていることなので、S3側も確認してみます。
aws s3 ls s3://akkeys-lifework-lab-backup/wordpress/db/
aws s3 ls s3://akkeys-lifework-lab-backup/wordpress/files/
akkeys-lifework-lab-backup はバックアップ用S3バケットの名前。wordpress/db/とかwordpress/files/はシェルの中でつけているバックアップ用のプレフィックスです。で、コマンド実行結果が・・・
sh-4.2$ aws s3 ls s3://akkeys-lifework-lab-backup/wordpress/db/
2026-03-28 10:31:40 490089 db_20260328_103115.sql.gz
2026-03-29 03:00:35 503502 db_20260329_030001.sql.gz
sh-4.2$ aws s3 ls s3://akkeys-lifework-lab-backup/wordpress/files/
2026-03-28 10:31:40 329376481 wp_files_20260328_103115.tar.gz
2026-03-29 03:00:35 334599141 wp_files_20260329_030001.tar.gz
でした。無事S3に転送されいてるようです!これにてバックアップスクリプトの作成と自動化は完了・・と言いたいところですが、まだ気になる点があります。
- Cronの実行がUTCの時間になってる
- EC2に作成したバックアップファイルがずっと残っちゃう
- S3に作成したバックアップファイルがずっと残っちゃう
- S3のコストってどんな感じ?
今日は疲れたのでここまでとして、あとはまた来週やりたいと思います。
・・・と思ったんだけど!
そもそも来週までEC2の容量が持つか?が気になる・・・ギリギリスペックで運用してるし。
のでこちらのコマンドで確認。
df -h
でEC2のディスクの状態を確認してみると、
sh-4.2$ df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 954M 0 954M 0% /dev
tmpfs 963M 0 963M 0% /dev/shm
tmpfs 963M 360K 962M 1% /run
tmpfs 963M 0 963M 0% /sys/fs/cgroup
/dev/nvme0n1p1 8.0G 6.8G 1.2G 86% /
上のほう4つはメモリなので、肝心なのは一番下の「/dev/nvme0n1p1 8.0G 6.8G 1.2G 86% /」。
つまり、1.2Gしか空いてなくて86%が使用中ってわけですね。結構ギリギリ。ではバックアップファイルのサイズはどのくらいなのか?
du -sh /opt/wordpress-backup/20260329_030001
で、今日できたファイルのサイズをみてみますと。
320M /opt/wordpress-backup/20260329_030001
ってわけで一撃320MBと結構大きい。画像が多いからかな。とにかくこれが7日溜まると想定すると、余裕で空き容量を超えますね・・。今日はもうちょっと頑張らないとダメか。。
とりあえず、昨日分と今日分はS3転送済みなのでEC2から消します。
rm -rf /opt/wordpress-backup/20260328_* /opt/wordpress-backup/20260329_*
これで多少、容量が開いたけどもこのままではおそらく10日と持たないので、S3に転送が終わったファイルはEC2から削除するようシェルに追記します。
echo "[5/5] Remove local backup files..."
rm -rf "${WORK_DIR}"
これをS3へのコピーコマンドの後に追加してバックアップシェルを保存します。
これでEC2の容量はしばらく大丈夫のはず!しかし、思ったよりEC2の容量がないな・・。やっぱり画像をEC2に保存している弊害ですかね。ここら辺もちょっと考えていかないと。というわけで今日はここまで。ではまた。