Sshfs и резервное копирование

Здравствуйте,
Я размещаю Discourse для небольшого сообщества. У нас очень маленький и старый VPS. Место на диске больше не позволяет делать резервные копии, поэтому я применил простой трюк: подключил удалённую файловую систему (используя sshfs) как /var/discourse/shared/standalone/backups/default. Всё вроде работает: я могу создавать или удалять файлы и каталоги в /var/www/discourse/public/backups/default/, но при попытке запустить резервное копирование оно завершается ошибкой. Есть ли что-то, что я могу сделать, чтобы это заработало? Права доступа установлены как 777.

Или, возможно, в следующей версии программного обеспечения наконец появится возможность отключить сжатие для резервных копий? Это дало бы нам несколько лет хранения :slight_smile:

Спасибо!

[2023-02-25 04:41:33] pg_dump: executing SEQUENCE SET category_featured_topics_id_seq
[2023-02-25 04:41:33] pg_dump: executing SEQUENCE SET category_groups_id_seq
[2023-02-25 04:41:33] pg_dump: executing SEQUENCE SET category_required_tag_groups_id_seq
[2023-02-25 04:41:33] pg_dump: executing SEQUENCE SET category_tag_groups_id_seq
[2023-02-25 04:41:33] pg_dump: executing SEQUENCE SET category_tag_stats_id_seq
[2023-02-25 04:41:33] Finalizing backup...
[2023-02-25 04:41:33] Creating archive: p-e-2023-02-25-043914-v20230201192925.tar.gz
[2023-02-25 04:41:33] Making sure archive does not already exist...
[2023-02-25 04:41:34] EXCEPTION: /var/www/discourse/lib/discourse.rb:137:in `exec': rm: cannot remove '/var/www/discourse/public/backups/default/p-e-2023-02-25-043914-v20230201192925.tar': Permission denied

[2023-02-25 04:41:34] /var/www/discourse/lib/discourse.rb:171:in `execute_command'
/var/www/discourse/lib/discourse.rb:137:in `exec'
/var/www/discourse/lib/discourse.rb:33:in `execute_command'
/var/www/discourse/lib/backup_restore/backuper.rb:216:in `create_archive'
/var/www/discourse/lib/backup_restore/backuper.rb:40:in `run'
/var/www/discourse/script/spawn_backup_restore.rb:9:in `backup'
/var/www/discourse/script/spawn_backup_restore.rb:31:in `block in <main>'
/var/www/discourse/script/spawn_backup_restore.rb:4:in `fork'
/var/www/discourse/script/spawn_backup_restore.rb:4:in `<main>'
[2023-02-25 04:41:34] Deleting old backups...
[2023-02-25 04:41:34] Cleaning stuff up...
[2023-02-25 04:41:34] Removing '.tar' leftovers...
[2023-02-25 04:41:34] Marking backup as finished...
[2023-02-25 04:41:34] Refreshing disk stats...
[2023-02-25 04:41:34] Notifying 'siteadmin' of the end of the backup...
[2023-02-25 04:41:42] Finished!

Никто? Есть какие-нибудь идеи, как это исправить (кроме какого-нибудь, не знаю, NFS через SSH-туннель)? :frowning_face:

Диск дешев, а миграции в Discourse — одни из самых простых. Возможно, стоит рассмотреть возможность миграции VPS. Если вы не можете в настоящее время обеспечить резервное копирование, то такие задачи, как обновление PostgreSQL, станут полным стоп-фактором.

Для большинства это не стоит затраченного времени, так как время ценнее нескольких дополнительных гигабайт.

Привет!

Скорее всего, это происходит потому, что процесс резервного копирования Discourse выполняется с эффективным идентификатором пользователя 0, поэтому, вероятно, вам нужно передать эту опцию в sshfs:

sshfs -o allow_root SERVER:PATH MOUNT_POINT

Или, если вы используете непривилегированные контейнеры, используйте allow_other.

Вы не против пожертвовать немного из этого дешевого диска? :wink:

Спасибо, я попробую. Это действительно имеет смысл. :+1: