Quiero duplicar un sitio web regularmente. En este momento uso httrack iniciado por cron.
El problema es que a veces el sitio web tiene un problema con la base de datos y dice exactamente eso (el estado HTTP sigue siendo "200" en esos casos). Luego, mi último espejo de trabajo se anula con una copia que simplemente dice "Problema de base de datos".
Podría escribir un guión que haga algo como
curl website.com
if not “Database problem”:
httrack website.com
No puedo creer que un programa espejo no tenga esa función. ¿Existe una herramienta que solo reflejará una condición en línea de este tipo?
¿Puedo sugerir usar rsync en su lugar? Al igual que curl, puede manejar una conexión cifrada y funciona bien con cron. Fue escrito con fines de duplicación en lugar de solo para descargar y debería hacer lo que quieras. Lo he usado durante años sin ningún problema. Rsync puede empujar o extraer un sitio para que pueda escribir un script para controlarlo y luego decidir enviarlo.
¿Podría explicar cuál es este problema de la base de datos y qué programa lo está causando/informando? Eso sería importante si todavía necesita una solución.
Así que lo hackeé yo mismo. rápido y sucio, pero funciona para mi caso de uso:
chttrack (en Github)
Es un pequeño módulo escrito en Python , por lo que deberá tener Python instalado para poder usarlo. Si alguien se pregunta por el nombre: la "c" significa "condicional" ;)
izzy
wget
por ejemplo, salta el contenido por error a menos que--content-on-error
se establezca enon
.izzy
t2d