Backup mit `curl` oder `wget` herunterladen

Ich muss gelegentlich ein Backup von einer Instanz herunterladen, auf die ich keinen ssh-Zugriff habe. Das Herunterladen von 2 GB über meine Heiminternetverbindung, bei der speedtest.net fast 500 Mbps Downstream angibt, ist nicht allzu schmerzhaft, aber das Hochladen über eine 20-Mbps-Verbindung ist es.

Ich dachte, ich könnte curl verwenden und einen API-Schlüssel übergeben, um das Backup herunterzuladen, aber es erhält eine Weiterleitung in einem HTML-Dokument, und der Versuch, diese URL in curl aufzurufen, endet mit einem „Bad Request".

Gibt es eine Möglichkeit, dies zu tun, die ich übersehe?

Ja, kommt mir bekannt vor. Ich habe das vor ein paar Jahren erstellt. Ich habe es seit einer Weile nicht mehr benutzt, daher bin ich mir nicht sicher, ob es noch ohne Änderungen funktioniert.

Wow! Meine Träume (vielleicht) sind in Erfüllung gegangen! Danke, Michael. Ich hätte wohl etwas intensiver suchen sollen.

Warum nicht einfach einen SCP-Server-zu-Server-Transfer?

Er nutzt SSH, ermöglicht Übertragungen, die deine lokale Leitung nicht belasten, und ist bereits auf jedem Host vorhanden.

Es gibt Discourse-Instanzen auf dem Planeten, auf die ich Admin-Zugriff habe, aber keinen SSH/SCP-Zugriff. :wink:

Ich hatte gerade dasselbe Problem, als ich versuchte, ein Backup von einem Rechner zu ziehen, der nicht meiner war (also kein SSH-Zugriff). Es wurde noch komplizierter, da ich Brevo als E-Mail-Anbieter nutze und sie den Link manipulieren, um ihn für Tracking-Zwecke auf ihren eigenen Server umzuleiten.

Für die Backup-E-Mails könnte es nützlich sein, die vollständige URL und das Token explizit anzuzeigen, anstatt sie im a href zu verstecken, was von E-Mail-Anbietern überschrieben werden kann.

Sie müssen sich trotzdem anmelden, sonst funktioniert der Link auch nicht.

Gibt es eine einfache Möglichkeit, sich über die Befehlszeile einer Remote-Maschine anzumelden, bevor Sie wget ausführen, um das Backup herunterzuladen?

Haben Sie mein Skript im zweiten Beitrag ausprobiert?