⚙️ Comandos antes y después de la copia

Cada tarea puede ejecutar comandos propios alrededor de la copia (options.pre_command / options.post_command).

Para qué sirven

  • pre_command: se ejecuta antes de copiar. Típico: volcar una base de datos (mysqldump, pg_dump, export de la app), parar un servicio que bloquea ficheros, o montar un recurso.
  • post_command: se ejecuta al terminar la pasada (también si falló — úsalo para limpiar o notificar). Típico: borrar el dump temporal, rearrancar el servicio, lanzar un informe.

Ejemplos

# pre_command — volcado de MySQL antes de copiar la carpeta de dumps
mysqldump -u root -p*** midb > D:\dumps\midb.sql

# post_command — limpiar el temporal
del D:\dumps\midb.sql
# pre_command en macOS/Linux
/usr/local/bin/pg_dump produccion > /tmp/produccion.sql

Apagar o suspender al terminar

Además de comandos libres hay una acción integrada: opciones → acción post-copia (post_action):

  • Apagar — programa el apagado del equipo al terminar la pasada.
  • Suspender — suspende el equipo.

Útil en copias nocturnas: la máquina trabaja, copia y se apaga sola. A diferencia de los comandos, la acción post-copia no ejecuta código externo y también está disponible gestionada a distancia.

Reglas importantes

  • Corren con la cuenta del motor: LocalSystem en Windows, tu usuario en macOS. Rutas, permisos y PATH difieren de tu sesión interactiva — prueba el comando en ese contexto.
  • Un pre_command que falla aborta la pasada (no copia datos a medias de un dump roto).
  • Por seguridad, desde una conexión remota por túnel no se pueden tocar pre_command/post_command — solo desde un cliente local. Son la forma más directa de ejecutar código y quedan protegidos.

Alternativa para ficheros bloqueados

Si el pre_command era para parar un servicio que bloquea ficheros, prueba antes el camino integrado: en Windows los ficheros en uso se leen por VSS sin parar nada (ficheros en uso).