Prueba cron
. Es una herramienta que ejecuta comandos en un tiempo o intervalo específico. Puede que no sea exactamente lo que estás buscando (clonar en compilación) pero funciona bastante bien.
Para configurar cron: desde la Terminal, escriba crontab -e
.
Esto debería mostrar un editor de texto (dependiendo del editor de texto que configures como predeterminado) y un encabezado agradable que explique qué hace cada campo.
minute, hour: does as it says
dom: day of month
mon: month
dow: day of week
Ahora, echaremos un vistazo a su comando para hacer copias de seguridad regulares. Una gran herramienta para copias de seguridad es rsync. Deberá configurar las claves SSH para que funcione sin una solicitud de contraseña.
Aquí está el comando que utilizo:
rsync -vzhaPE --delete-after /path/to/local/file ip.address.of.server:/path/to/backup/location
Opciones utilizadas: -vzhaPE
v: verbose
z: compress (good for slow connections. Adjust compression level with --compress-level=<1-9>)
h: human readable numbers
a: archive mode. This preserves timestamps and practically clones everything over as it were.
P: progress bar.
E: keep partial files. This means that if the connection was interrupted, rsync will pick up on the partial files and continue where it left off. Good for copying multiple large files over a slow network.
delete-after: deletes files from the server that have been deleting from the sending side
Las opciones v, hy P son más para la depuración humana, por lo que no las introduciremos en nuestro trabajo cron.
Entonces, para juntarlo en cron:
(ejecutar cada diez minutos, por ejemplo)
*/10 * * * * rsync -zaE --delete-after /path/to/local/file ip.address.of.server:/path/to/backup/location
Este comando respaldará los archivos que se encuentran en el directorio especificado en el directorio especificado del servidor cada diez minutos . No se harán duplicados, ya que rsync eliminará los archivos que copia.
Además, si lo desea, también puede ejecutar un script que mueva la copia de seguridad copiada a otra carpeta si está interesado en una funcionalidad de versionamiento similar a Time Machine. Sin embargo, necesitará suficiente espacio de almacenamiento y algunos ajustes menores en el comando de copia de seguridad (rsync push to rsync pull). Si esto es lo que estás buscando, házmelo saber y lo ampliaré.