Pregunta
Comenzando con CQ5.5, ya no se puede activar una copia de seguridad en línea a través de la consola web CRX. Esta funcionalidad fue movida al complemento JMX disponible ahora en la consola web de Adobe CQ5 (anteriormente conocida como Felix Console).
¿Cómo es posible activar ciertas operaciones de copia de seguridad en línea de forma automatizada utilizando, por ejemplo, scripts shell y cronjobs?
Respuesta
Es posible ejecutar operaciones de copia de seguridad en línea que el correspondiente JMX MBean expone utilizando solicitudes HTTP RESTful.
Este artículo describe cómo realizar estas peticiones HTTP basadas en cURL para enviar peticiones.
El JMX MBean en cuestión es de dominio com.adobe.granito, tipo Repositorio.
Solicitudes
Inicie una copia de seguridad con un retraso explícito (en ms):
# start backup with 1ms delay curl -u admin:<pwd> -F"target=mybackup.zip" -F"force=true" -F"delay=1" http://<host>:<port>/libs/granite/backup/content/admin/backups.html
Para descargar una copia de seguridad, utilice el siguiente comando cURL:
# download backup-zip file with GET curl -u admin:<pwd> "http://<host>:<port>/libs/granite/backup/content/admin/backup.download.html?<absolute_path_to_backup_zip>
La eliminación de un archivo zip de copia de seguridad funciona de forma similar con una solicitud POST:
# delete backup-zip file with POST curl -u admin:<pwd> -F"path=<absolute_path_to_backup_zip>" http://<host>:<port>/libs/granite/backup/content/admin/backup.delete.html
También es posible cancelar una copia de seguridad con un POST a lo siguiente:
# cancel current backup with POST curl -u admin:<pwd> -X POST http://<host>:<port>/libs/granite/backup/content/admin/backups.cancel.html
El comando cURL para crear un archivo zip de copia de seguridad devuelve inmediatamente, ya que la creación de la copia de seguridad se ha diferido a un subproceso asíncrono.
Para determinar si una copia de seguridad ha finalizado y su correspondiente archivo zip se completa desde el punto de vista del guión, supervise el directorio de destino. Se crea un directorio temporal mientras la copia de seguridad está en curso. El nombre del directorio temporal se basa en el nombre del archivo zip proporcionado para la copia de seguridad. Por ejemplo:
- nombre del archivo zip de la copia de seguridad: backup-author-120713.zip
- nombre del directorio temporal: backup-author-120713.<xyz>.temp
La parte <xyz> es dinámica. Una vez finalizada la copia de seguridad, el contenido de este directorio temporal se comprime y se elimina después.