¿Cómo ejecutar un script en un momento determinado en Linux?

Tengo un archivo de texto que contiene una fecha y hora específicas. Quiero poder ejecutar un script a la hora especificada en ese archivo. ¿Cómo lograrías eso? Cree otra secuencia de comandos que se ejecute en segundo plano (una especie de deamon) y verifique cada segundo si la hora actual coincide con la hora del archivo. ¿Hay otra manera? La máquina es un servidor Linux , Debian wheezy. Gracias por adelantado

Mira lo siguiente:

echo "ls -l" | at 07:00 

Esta línea de código ejecuta “ls -l” en un momento específico. Este es un ejemplo de ejecutar algo (un comando en mi ejemplo) en un momento específico. “at” es el comando que realmente estabas buscando. Puedes leer las especificaciones aquí:

http://manpages.ubuntu.com/manpages/precise/en/man1/at.1posix.html http://manpages.ubuntu.com/manpages/xenial/man1/at.1posix.html

¡Espero eso ayude!

El comando at existe específicamente para este propósito (a diferencia de cron que está destinado a progtwigr tareas recurrentes).

 at $(cat file)  

Cron es bueno para algo que se ejecutará periódicamente, como todos los sábados a las 4 a. M. También hay anacron , que funciona alrededor de apagados de energía, duerme y demás. Al igual que en .

Pero para una solución única, que no requiere root ni nada, puede usar date para calcular los segundos-desde-la época del tiempo objective así como la hora actual, luego use expr para encontrar la diferencia, y duerme esos muchos segundos.

Por lo general, en Linux utiliza crontab para este tipo de tareas progtwigdas. Pero debe especificar la hora en que “configura el temporizador”, de modo que si desea que se pueda configurar en el archivo en sí, deberá crear algún mecanismo para hacerlo.

Pero, en general, usarías por ejemplo:

 30 1 * * 5 /path/to/script/script.sh 

Ejecutaría el script todos los viernes a la 1:30 (AM) Aquí:

30 es minutos

1 es hora

los próximos 2 * son day of month y month (en ese orden) y 5 es día de la semana