背景・課題
- VPS上に構築していたWordpressサイトをconoha wingに移動させた。
- VPSでは、シェルスクリプトでバックアップファイル(データベースとファイル群)を作成してAWS S3にアップロードしてきたのだけど、どうすればよいのだろう?
- Conoha Wing標準のバックアップはサーバ全体のバックアップ・リストアなので使い勝手が悪い
- 例えば複数のWordpressサイトを運用していた場合、全部リストアされてしまう。
-
ConohaのサポートページではWordpressの
BackWPup
プラグインが推奨されていて、これは無料版でもS3バックアップできるのだけど、サードパーティのプラグインにIAMユーザのシークレットキーを付与するのはなんか気持ち悪いので避けたい。
- Conoha Wing標準のバックアップはサーバ全体のバックアップ・リストアなので使い勝手が悪い
結論
VPSと同じようにできた。具体的にはaws-cli v2とmysqldumpを使ってシェルスクリプト書いてそれをcronで実行。
手順
mysqldump
最初からインストールされていた。
AWS CLI
これまでAWS CLIはroot権限のあるサーバでしか使ったことないので、一般ユーザできるのだろうか?と思ったらできた。
ここだけ印象深かったので記事タイトルにしました。
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
./aws/install -i ~/.local/bin/aws-cli -b ~/.local/bin
最後の行がポイント。-i
,-b
に書き込み権限のあるディレクトリを指定すれば、sudo
なしでインストールできる。
conoha wingのパス(echo $PATH
)に~/.local/bin
が含まれていたのでそれを活用
オプション | 意味 |
---|---|
-i | インストール先ディレクトリ |
-b | コマンドのシンボリックリンク作成先 |