En un artículo anterior le contamos sobre RSYNC, una herramienta de línea de comandos que le permite hacer una copia de seguridad de los datos de una fuente a un destino, que esta es otra carpeta presente dentro de la Mac (tal vez la carpeta Dropbox local) o un disco externo.
En esto, podemos definir un segundo episodio sobre el tema, hablamos contigo en lugar de crónotra herramienta del sistema que le permite realizar scripts o controles (como RSYNC) a intervalos de tiempo precisos.
En jerga técnica se llama de hecho Planificador de tareases decir, un planificador de actividades que ya encontramos integrados en la Mac y en todos los sistemas operativos similares a UNIX como MacOS y Linux.
Porque Chron
Aquellos que mastican un poco estas cosas podrían preguntarse porque hemos decidido hablar con usted sobre Cron en lugar de explicar cómo automatizar la ejecución de un RSYNC combinando automóvil y calendario, o confiar en otro sistema de gestión de procesos, como lanzador Que, además de ser específico para los macos, también es mucho más potente.
De hecho, LaunchD no se basa solo en tiempos o intervalos, sino que también puede iniciar un proceso en respuesta a un evento del sistema, como el ensamblaje de un disco externo. Por lo tanto, en el caso específico de las copias de seguridad, podría usarse para iniciar automáticamente los datos de RSYNC a partir de la conexión de una clave específica, sin tener que abrir el terminal.
Para este cronus específico, de hecho, no es la mejor herramienta, pero es más fácil de configurar, especialmente para aquellos que no están acostumbrados a estas cosas, que es entonces el principal destinatario de esta guía.
No solo eso: es sobre todo útil en todas aquellas situaciones en las que desea realizar automáticamente un comando RSYNC, no la conexión de una clave, sino. En un momento determinado del día.
Finalmente, lo elegimos porque, en cuanto a RSYNC, es un instrumento que ha existido durante mucho tiempo (piense: en mayo cumple 50 años, dado que La primera versión se remonta a 1975) y esto es sinónimo de garantía de que aún puede durar mucho tiempo a pesar del progreso de las tecnologías que giran en torno a ella.
Cómo funciona Chron
Lo que tenemos que hacer es pegar sustancialmente el comando rsync que queremos automatizar dentro de un archivo llamado cronota (Contracción de la «tabla cron») que especifica los tiempos y días de ejecución.
Dentro del Cronotab, cada línea representa un comando que se realizará en un momento determinado.
La sintaxis De una fila de crontab es la siguiente:
* * * * * COMANDOrsync
Ejemplo 1
Tomemos un ejemplo. Si queríamos realizar un comando rsync Todos los lunes a las 3:00 de la mañanatendremos que escribir la siguiente línea:
0 3 * * 1 COMANDOrsync
Siguiendo la tabla de arriba:
- el primero 0 indica los minutos mientras que el 3 representa el tiempo, luego con
0 3
Le estamos diciendo al Crono que realice el comando RSYNC a las 03:00 de la mañana. - Dejando el asterisco en la tercera ranura, que representa el día del mes, le estamos diciendo al Crono que realice el comando todos los días.
- A través del asterisco en la cuarta ranura, la dedicada al mes, estamos configurando el Crono para que realice el comando todos los meses.
- El número 1 al final le dice al Cron que realice el comando solo el lunes.
Algún otro ejemplo
Si, por otro lado, decidimos realizar un RSYNC Todos los días a las 9:30 de la mañanapor ejemplo, para garantizar una copia de seguridad diaria de algunos datos, simplemente reemplace el número 1 del ejemplo anterior con un asterisco y cambie las dos primeras cifras de esta manera: 30 9 * * * COMANDOrsync
.
Y si quisiéramos realizar el mismo comando rsync Tanto en la mañana como por la tardetal vez porque generalmente trabajamos en el Mac de 8:00 a 14:00 o de 14:00 a 20:00 pero sin una alternancia precisa? En este caso, será necesario completar el historial pegando el mismo comando dos veces y adaptando las opciones a las horas de trabajo. En el ejemplo indicado aquí, podríamos configurarlo de la siguiente manera:
30 9 * * * COMANDOrsync
30 15 * * * COMANDOrsync
¿Qué pasa si el Mac está apagado?
Nos mantuvimos en pare eligiendo las 9:30 y las 15:30 porque de esta manera aseguramos la ejecución del ARSYNC incluso en caso de que retrasemos el encendido de la Mac, pero uno también podría decidir establecer un tiempo cercano a su cierre para comprender los últimos datos en la copia de seguridad.
Esto se debe a que si el Mac está apagado (o si es un MacBook, si la tapa está cerrada) El salto de la cronotab. Por lo tanto, al configurarlo de la manera anterior, se asegurará de que la misma copia de seguridad se realizará al menos una vez al día dado que, según los hábitos de ejemplo, la máquina se ilumina al menos una vez al día y mucho antes de la hora indicada.
Cómo configurar el Cronotab
Como sabemos en el Mac, encontramos el terminal pre -instalado y, junto con él, también hay algunos editores de texto como tú Y enano que se basan precisamente en la modificación de los archivos mediante la línea de comandos.
Después de comenzar el terminal, todo lo que tiene que hacer es escribir el comando:
crontab -e
para abrir el archivo. Generalmente si nada ha cambiado, El editor predeterminado Es VI, pero si quieres forzar la apertura con vi o nano, simplemente especifique en el comando de apertura del crontab escribiendo EDITOR=vi crontab -e
Para forzar la apertura con VI o EDITOR=nano crontab -e
para abrirlo con el editor nano.
La elección de uno u otro es indiferente en términos de configuración, mientras que la aparición del editor cambia (Nano presenta una interfaz ligeramente más compleja) y el rescate del Crontab y el cierre del editor.
Dado que está el predefinido (a menos que lo haya cambiado anteriormente) Continuaremos indicando la forma de seguir para configurar el Cronotab a través de este editor de editor de texto.
Después de abrir el archivo, la pantalla en el terminal aparecerá vacía, esto se debe a que aún no hemos configurado ningún historial. Por lo tanto, escribimos las opciones de gestión de acuerdo con el esquema explicado anteriormente seguido del comando RSYNC. Siguiendo uno de nuestros ejemplos, por lo tanto, escribiríamos:
30 9 * * * rsync -xaEv --progress --info=progress2 --delete "/percorso/sorgente/A" "/percorso/destinazione/B
De esta manera, estamos automatizando la ejecución de un RSYNC que copia la carpeta A y todo su contenido dentro de la carpeta B todos los días a las 9:30 de la mañana.
Si queremos agregar otros comandos, simplemente dale a enviarlos y escríbelos en la siguiente línea. Lo importante es escribir un comando de fila.
Cómo salvar el Cronotab
Cuando compiló el Cronatab de acuerdo con sus necesidades, guarde el archivo de la siguiente manera:
- prensa
Esc
Para salir del modo de inserción (en el que se puede escribir el texto) y volver al modo normal (en el que puede navegar en el texto, realizar comandos, etc.); - tipo
:wq
Para decir el programa de querer guardar los cambios y salir del editor (con:
Ingrese el modo de comando,w
representa la escritura,q
significa dejar de fumar); - prensa
Invio
Para confirmar el comando.
Cómo ver el Cronotab
Si todo salió en la dirección correcta, deberías haber compilado el Cronatab. Puede verificarlo escribiendo este comando:
crontab -l
El terminal devolverá todo el contenido del archivo sin abrirlo (para evitar cambios accidentales).
Cómo agregar un archivo de registro
La forma más fácil de realizar un seguimiento de la ejecución de los comandos configurados en el Cronotab es la de Agregue una redirección de la salida en un archivo de registro.
La sintaxis es la siguiente:
0 3 * * 1 COMANDOrsync > /percorso/del/logfile.log 2>&1
De esta manera, el RSYNC se realiza todos los lunes a las 3:00 de la mañana También genere un archivo llamado logfile.log
dentro de la cual se muestran todas las líneas que el terminal regresa al realizar manualmente un RSYNC.
Tenga en cuenta que Cada ejecución del cron sobrescribirá el registro. Si, por otro lado, desea construir un historiador de todas las ejecuciones del Crono con el tiempo, solo agregue un segundo >
en el comando. Siguiendo el mismo ejemplo, la sintaxis será esta:
0 3 * * 1 COMANDOrsync >> /percorso/del/logfile.log 2>&1
Pero sepa que de esta manera a largo plazo, el archivo de registro podría volverse pesado, por lo tanto, para evitar pesar la Mac, será bueno recordar borrarlo periódicamente.
Cómo exportar una copia del crontab
Si todo funciona como se esperaba, entonces podría ser una buena idea exportar una copia del Cronotab en un archivo .txt que será útil para ambos para restaurarlo en el futuro sin tener que llenarla nuevamente a mano y poder hacer cambios sin usar el Editor VI pero pasar directamente para el texto preinstalado en la Mac.
Por ejemplo, si decidimos guardar el contenido del Cronotab En un archivo llamado backup_crontab.txt
en el escritorio Todo lo que tenemos que hacer es abrir el terminal y el tipo:
crontab -l > ~/Desktop/backup_crontab.txt
Cómo restaurar el historial de copia de copia de seguridad
Siempre siguiendo el ejemplo anterior, cuando tenemos la intención de restaurar el CRONTAB a partir de ese archivo (que mientras tanto, también podríamos haber cambiado agregando o eliminando las líneas de control) solo asegúrese de que el archivo de copia de seguridad todavía esté en el escritorio, luego abra el terminal y escriba:
crontab ~/Desktop/backup_crontab.txt
Sin embargo, determine que la restauración y cualquier cambio se ha subido realmente al Cronotab utilizando el comando crontab -l
Para ver el contenido desde el terminal.
Cómo eliminar el archivo cron
Si ha decidido cancelar la ejecución de los diversos Croni, solo necesita vaciar el archivo CRONTAB. Siempre puedes hacerlo a través de VI de esta manera:
- Abra la terminal
- tipo
crontab -e
- prensa
Esc
- tipo
:%d
(%
significa seleccionar todas las líneas,d
está a punto de eliminar esas líneas) - prensa
Invio
- Presione de nuevo
Esc
- tipo
:wq
Regresó a la terminal, lanza un crontab -l
Para verificar que el archivo esté realmente vacío.
Un ejemplo de uso
Si ha leído la guía anterior dedicada a RSYNC, lo más probable es que ya haya entendido por qué comenzamos a usar Cron. De hecho, algunas de nuestras copias de seguridad no hacen nada más que Fotocopia algunos archivos en la carpeta local de Dropbox Para que nuestros otros dispositivos que compartan la misma cuenta en la nube.
Por lo tanto, la configuración de Cron para realizar automáticamente estas copias de seguridad en ciertos días y horarios, aseguramos que los diversos archivos y carpetas ubicados en la Mac que tengamos compartir siempre se actualizan a la última versión también en los duplicados presentes en Dropbox y sin tener que recordar manualmente el RSYNC.
Otras guías …
¿Sabía que cientos de otros tutoriales en iPhone, iPad, pero también en Mac y Apple Watch se encuentran en MacityNet? Simplemente haga clic en el nombre del dispositivo que lo interese para navegarlos a todos seleccionando aquellos que desea leer.
Todos los tutoriales para iOS 17 e iOS 18 están en las secciones dedicadas a sus respectivos sistemas operativos y actualizaciones.