Ich möchte eine Website regelmäßig spiegeln. Im Moment verwende ich httrack, das von Cron gestartet wird.
Das Problem ist, dass die Website manchmal ein Datenbankproblem hat und genau das sagt (der HTTP-Status bleibt in diesen Fällen immer noch "200"). Dann wird mein letzter funktionierender Spiegel durch eine Kopie überschrieben, die nur „Datenbankproblem“ sagt.
Ich könnte ein Skript schreiben, das so etwas tut
curl website.com
if not “Database problem”:
httrack website.com
Ich kann nicht glauben, dass ein Spiegelprogramm eine solche Funktion nicht hat. Gibt es ein Tool, das nur eine solche Inline-Bedingung widerspiegelt?
Könnte ich vorschlagen, stattdessen rsync zu verwenden? Wie Curl kann es mit verschlüsselten Verbindungen umgehen und funktioniert gut mit Cron. Es wurde zu Spiegelungszwecken und nicht nur zum Herunterladen geschrieben und sollte tun, was Sie wollen. Ich benutze es seit Jahren ohne Probleme. Rsync kann eine Site pushen oder pullen, sodass Sie ein Skript schreiben können, um sie zu steuern, und sich dann für das Senden entscheiden.
Können Sie erklären, was dieses Datenbankproblem ist und welches Programm es verursacht/meldet? Das wäre wichtig, wenn es noch einen Workaround braucht.
Also habe ich es selbst gehackt. schnell & schmutzig, funktioniert aber für meinen Anwendungsfall:
chttrack (auf Github)
Es ist ein kleines Modul, das in Python geschrieben ist , also müssen Sie Python installiert haben, um es verwenden zu können. Falls sich jemand über den Namen wundert: das "c" steht für "conditional" ;)
Izzy
wget
z. B. überspringt den Inhalt bei einem Fehler, es sei denn,--content-on-error
es ist auf gesetzton
.Izzy
t2d