⚙️ 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_commandque 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).