Muchas veces quiero que mi computadora haga una sola tarea, pero no ahora. Por ejemplo, podría hacer que me notifique en 30 minutos que es hora de dejar el trabajo. O tal vez quiero que realice una prueba complicada dentro de 2 horas cuando esté seguro de que la mayoría de los demás se habrán ido de la oficina.
Sé que podría crear un trabajo cron para ejecutarlo a una hora específica del día, pero eso parece mucho trabajo cuando todo lo que quiero es algo simple como "Ejecutar este script en 10 minutos", además tendría que averiguar a qué hora será en realidad X minutos / horas / días a partir de ahora, y luego elimine el trabajo cron una vez que haya terminado.
Por supuesto, podría escribir este script y ejecutarlo en segundo plano:
sleep X
do_task
Pero eso parece muy torpe: o necesito un nuevo script para cada tarea, o necesito escribir y mantener un script lo suficientemente genérico para hacer lo que quiero, sin mencionar que tengo que calcular cuántos segundos hay en los minutos, horas o días que quiero.
¿No hay una solución ya establecida para este problema?
fuente
Respuestas:
Yo uso un script simple con
at
:Usted podría fácilmente tubería del
$message
anotify-send
odzen
si quería una notificación de escritorio en lugar de un correo electrónico.fuente
+ 2 days
) y diferentes formatos (YYYY-MM-DD
). Consulte la página de manual para más detalles.La forma genérica de usar
at
esEscribe un guión que haga lo que quieres hacer. Utilice la ruta completa para todos los comandos externos, registre la salida en un archivo de registro adecuado o envíelo por correo.
Prueba el guión.
Activalo con
at -f YOURSCRIPT -t MMDDhhmm
fuente