権限のためにバックアップが失敗しましたか?

バックアップエラーが発生しました

[2020-10-17 23:40:29] EXCEPTION: lib/discourse.rb:92:in `exec': tar: /var/www/discourse/public/backups/default/bringing-data-to-life-2020-10-17-234010-v20200916085541.tar: Cannot open: Permission denied
tar: Error is not recoverable: exiting now

コンテナにログインし、該当ディレクトリに移動して、root ユーザーがファイルを作成できることを確認しました。

権限を 777 に変更したところ、バックアップは正常に動作しました。このサイトは非公開ですが、公開されうるリンクに対して 777 の権限をそのまま残しておくのは好ましくありません。

バックアップ処理は root 以外のユーザーで実行されますか?

おそらくそうです。discourse に所有者を変更(chown)してみてください。

「いいね!」 1

Docker コンテナでテストしたところ、すべて問題なく動作しているようです:

root@gerhard-test-app:/shared/backups/default# ls -la
total 29068
drwxr-xr-x 2 discourse www-data     4096 Oct 18 09:51 .
drwxr-xr-x 3 discourse www-data     4096 Sep 18 15:31 ..
-rw-r--r-- 1 discourse www-data  7606150 Oct 18 09:48 discourse-test-site-2020-10-18-094806-v20201009190955.tar.gz
-rw-r--r-- 1 discourse discourse 7627995 Oct 18 09:51 discourse-test-site-2020-10-18-095138-v20201009190955.tar.gz

最初のバックアップは Web インターフェースで作成されました。2 番目のバックアップは discourse backup コマンドで作成されました。

/var/www/discourse/public/backups はシンボリックリンクです:

root@gerhard-test-app:/var/www/discourse/public# ls -la backups
lrwxrwxrwx 1 root root 15 Oct 18 09:42 backups -> /shared/backups