0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

wordpress バックアップファイルをGCSに自動でアップする

Last updated at Posted at 2019-12-29
経緯

普段、HPに使っているwordpressのバックアップは、プラグインでバックアップファイルを自動作成するよう設定しています。使用しているプラグインはBackWPupというもの。
これは指定フォルダにバックアップファイルを作成してくれ、定期実行も設定できる優れものなのですが、クラウドストレージへのアップも自動化したいと考えていました。
スクリーンショット 2019-12-29 15.06.29.png

環境
GCP

  • google compute engine VM
  • Bitnami wordpress + apache stack
  • google cloud storage

手順

インスタンスのアクセス権を書き込みできるように変更

デフォルトではこのGCPのインスタンスはGCSへの書き込みアクセス許可がありません
スクリーンショット 2019-12-29 14.49.32.png
このため、アクセス権を変更します。

  1. インスタンスを停止
  2. インスタンスを編集、ストレージアクセス権を「読み取り/書き込み」に変更
  3. インスタンスを起動
フォルダの変更検知をしてアップするよう設定

フォルダ変更検知にinotifyを使いたいのでapt-get install します
$ sudo apt-get install -y inotify-tools

新規ファイルの作成の変更検知

  • 新規作成だけでいいので、-e CREATE オプション
  • 継続で検知させるため -m オプション
    $ inotifywait -m -e CREATE /opt/bitnami/apps/wordpress/htdocs/wp-content/uploads/backwpup-85ccd3-backups

GCSへのバックアップファイルのコピー

  • 既にあるのであればアップしないよう-n オプション
    $ gsutil cp -n /opt/bitnami/apps/wordpress/htdocs/wp-content/uploads/backwpup-85ccd3-backups/*.zip gs://dist-bucket/wp/

上記コマンドを合成

  • ログアウトしても継続するようnohup &
  • パイプで渡す際にパスを調整する必要があるので --format "%w%f"
  • 複数同時に作られてもいいよう while (
    $ nohup sudo inotifywait -e CREATE --format "%w%f" -m /opt/bitnami/apps/wordpress/htdocs/wp-content/uploads/ba
    ckwpup-85ccd3-backups | while read -r file; do gsutil cp -n $file gs://dist-bucket/wp/; done &
スクリーンショット 2019-12-29 15.05.23.png
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?