/var/discourse/launcher run app "echo 'BackupRestore::Backuper.new(Discourse.system_user.id, with_uploads: false).run' | rails c"
Wenn ich den Rails-c-Weg nehme, funktioniert das Backup. Aber diese Einzeiler sollte auch funktionieren – oder sie funktionierte schon 2020 (oder war es -22…)
Und was ich wirklich versuche, ist, nur einen Datenbank-Dump zu erhalten, verpackt, an einem Ort, an den ich ihn nach S3 verschieben kann. Und nein, ich möchte das nicht manuell tun, das Backup muss automatisiert werden. Und nein, einmal am Tag reicht nicht aus, weil ich keine 24-stündigen Daten verpassen möchte, wenn etwas schiefgeht.
Meinst du die Verbindung zu Redis? Was ist die genaue Fehlermeldung, die du siehst?
launcher run app führt einen Befehl in einem neuen Container-Kontext aus, daher wird Redis nicht ausgeführt. Dies würde nur funktionieren, wenn Redis extern ist.
Das Folgende sollte funktionieren, da es im Kontext des vorhandenen Containers ausgeführt wird:
docker exec -i app rails c <<<'BackupRestore::Backuper.new(Discourse.system_user.id, with_uploads: false).run'
Warum machst du das oben anstelle von z.B. dem einfacheren discourse backup --sql-only?
Du kannst Discourse auch anweisen, S3 direkt als Speicherort für Backups zu verwenden, wenn du möchtest.
Weil Docker und Container schreckliche Orte sind, an denen nichts funktioniert, wie crontab und nano Ich weiß, irgendwie, was ich tue, wenn ich /var/discourse sehe, aber nach ./launcher enter app bin ich völlig verloren. Deshalb sichert mein Mastodon-Server selbst, aber Discourse nicht (nun ja, einmal am Tag ja, aber trotzdem).
Ja, ich weiß, discourse backup macht, was ich will, es schickt den Dump sogar nach S3, aber ich weiß nicht, wie ich es zeitlich planen soll – wegen dieses schrecklichen und beängstigenden Container-Dings, das ein Betriebssystem im Betriebssystem ist.
Couldn't connect to Redis
bundler: failed to load command: pry (/var/www/discourse/vendor/bundle/ruby/3.3.0/bin/pry)
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/redis-4.8.1/lib/redis/client.rb:398:in `rescue in establish_connection': Error connecting to Redis on localhost:6379 (Errno::ECONNREFUSED) (Redis::CannotConnectError)
Und danach kam eine meilenlange Liste, bei der jede Zeile mit from begann und es unzählige verschiedene Ruby-Dinge, Gems usw. gab. Das sah nicht sehr interessant aus.