¿ Alguien podría proporcionar algunos usos de ejemplo para el at
comando? Estoy encontrando lo man
súper confuso.
$ man at
Por ejemplo, si quisiéramos ejecutar un comando dentro de 10 minutos, ¿se puede hacer usando at
? (y sin usar sleep
)
La especificación de tiempo para "Dentro de 10 minutos" es now +10 minutes
. Por ejemplo,
echo 'open ~' | at now +10 minutes
Sin embargo, el at
sistema está deshabilitado de forma predeterminada en macOS, como se menciona en la at
página de manual:
IMPLEMENTATION NOTES
Note that at is implemented through the launchd(8) daemon periodically
invoking atrun(8), which is disabled by default. See atrun(8) for infor-
mation about enabling atrun.
La atrun
página de manual dice que necesita ejecutar
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.atrun.plist
Uso el
at
comando cuando necesito hacer un procesamiento pesado de los datos, que quiero ejecutar durante la noche, cuando no estoy detrás de mi computadora. Por supuesto, podría comenzar el proceso justo después de irme, pero esto es algo que tiendo a olvidar.El resultado del comando no es diferente de la ejecución regular del script o comando.
@bernhard
Lo que hace
extracto de at
la página del manual
NAME
at, batch, atq, atrm - queue, examine or delete jobs for later execution
DESCRIPTION
at and batch read commands from standard input or a specified file
which are to be executed at a later time, using /bin/sh.
Uso
El uso de las herramientas:
Usage: at [-V] [-q x] [-f file] [-mldbv] timespec ...
at [-V] [-q x] [-f file] [-mldbv] -t time
at -c job ...
atq [-V] [-q x]
atrm [-V] job ...
batch
at
incluye 4 comandos ( at
, atq
, atrm
y batch
). Utiliza at
y batch
para programar los trabajos, atq
para ver lo que está programado y atrm
para eliminar un trabajo antes de que se ejecute.
$ at -f <cmd> timspec
Timespec
El tiempo para ejecutar el trabajo at se puede especificar de diferentes maneras.
formulario de extracto en la página del manual
At permite especificaciones de tiempo bastante complejas, extendiendo el estándar POSIX.2. Acepta tiempos de la forma HH:MM para ejecutar un trabajo a una hora específica del día. (Si esa hora ya ha pasado, se asume el día siguiente). También puede especificar la medianoche, el mediodía o la hora del té (4 p. m.) y puede tener una hora del día con el sufijo AM o PM para correr por la mañana. o la tarde. También puede decir qué día se ejecutará el trabajo, dando una fecha en el formato mes-nombre día con un año opcional, o dando una fecha en el formato MMDD[CC]YY, MM/DD/[CC]YY, DD.MM.[CC]AA o [CC]AA-MM-DD. La especificación de una fecha debe seguir la especificación de la hora del día. También puede dar tiempos como ahora + contar unidades de tiempo, donde las unidades de tiempo pueden ser minutos, horas, días,
Ejemplos
Digamos que tiene este script de shell.
$ cat mycrontest.sh
#!/bin/bash
echo "It is now $(date +%T) on $(date +%A)"
Ejemplo de ejecución:
$ ./mycrontest.sh
It is now 18:37:42 on Friday
Muestra en envíos de trabajo:
$ at -f mycrontest.sh 10pm tomorrow
job 14 at Sun Jul 8 22:00:00 2007
$ at -f mycrontest.sh 2:00 tuesday
job 15 at Tue Jul 10 02:00:00 2007
$ at -f mycrontest.sh 2:00 july 11
job 16 at Wed Jul 11 02:00:00 2007
$ at -f mycrontest.sh 2:00 next week
job 17 at Sat Jul 14 02:00:00 2007
Créditos a @slm
clozach