Comando AT

16 de abril de 2025

Lang: cs en de es

¿Necesitas ejecutar un trabajo una vez a una hora determinada? Suena como una tarea cron. Pero cron es para ejecuciones periódicas repetidas. Para ejecutar una tarea una vez a una hora predefinida, utilice el comando "at". En este artículo, te enseñaré a utilizar el comando "at".

Instalación

Como es habitual en las distribuciones Linux, todas las aplicaciones están disponibles como un paquete listo para esa distribución Linux. Del mismo modo, el comando "at" está comúnmente disponible en el repositorio de su distribución.

En la distribución Mageia, puedes instalar el programa "at" con el siguiente comando:

urpmi at

En la distribución Debian, se instala el programa "at" con el siguiente comando:

apt-get install at

El comando "at" se ejecuta en segundo plano, como un demonio, y ejecuta los trabajos bajo el usuario que programó el trabajo. Por lo tanto, es necesario iniciar el demonio y habilitar el demonio "at" para que se inicie después de arrancar el ordenador. Para ello, utilice el comando

systemctl enable etc && systemctl start etc
.

Comando at

El comando "at" se utiliza para programar un comando o script para que se ejecute una vez en un momento específico en futuro.

Uso Básico

Modo Interactivo

a las 16:00

A continuación, escribe los comandos y sal tecleando Ctrl+D.

Programación de un trabajo

echo "ls -l /home/usuario" | a las 14:30

Ejecuta el comando "ls -l /home/usuario" a las 14:30 del mismo día.

Programar el ordenador para que se apague en una fecha concreta

echo "reiniciar" | a las 23:59 31.12.2025

Mostrar tareas programadas

Si quieres comprobar qué usuario programó qué para qué hora, utiliza el siguiente comando, que listará los trabajos programados con su hora de inicio:

atq

Alternativamente, puedes usar

at -l

Cancelar un trabajo programado

Puede decidir que desea cancelar una tarea. Puede cancelar una tarea que está programada. Para eliminar una tarea programada, utilice el comando:

atrm <número de tarea>
Puede obtener el número de tarea de la sentencia atq.

Horas especiales

  • at now + 1 hour → Ejecuta el comando en 1 hora.
  • at now + 30 minutes → Ejecuta el comando en 30 minutos.
  • a medianoche → Ejecuta el trabajo a medianoche.
  • a la hora del té → Ejecuta el trabajo a las 4:00 pm.

Video tutorial

Vídeo demostración práctica de cómo utilizar el comando AT:

Comandos en el archivo

No tienes que introducir los comandos manualmente, sino que puedes escribir lo que necesitas ejecutar en un fichero. Y luego pasar ese archivo al programa "at". Especialmente si tienes un comando complejo o sabes que querrás ejecutarlo en algún momento en el futuro, es una buena idea escribirlo y ahorrar tiempo después.

A continuación, pasa tu script al programa "at" de la siguiente manera:

at -f config.at 13:00 2024-04-05

Cuidado con el shell por defecto

El comando "at" le permite ejecutar tareas en un momento específico, pero es importante tener en cuenta que estas tareas se ejecutan por defecto en un shell no interactivo (normalmente /bin/sh u otro shell por defecto del sistema). Este puede causar problemas si el usuario espera que se utilice su shell preferido (por ejemplo, bash, zsh) o que ciertas variables de entorno estarán disponibles.

Por qué específicamente hay que tener esto en cuenta:

  • Un shell distinto de su interactivo - Por ejemplo, si utiliza bash pero "at" activa /bin/sh, entonces algunas construcciones por ejemplo([ ... ]], declare, source pueden no funcionar.
  • Faltan variables de entorno - Una tarea ejecutada mediante at no tiene el mismo entorno que su shell interactivo. Por ejemplo, sus alias personalizados, funciones o modificado $PATH.
  • Necesita especificar explícitamente un shell - Si desea que la tarea at se ejecute en un shell específico, debe especificarlo explícitamente. shell, debe especificarlo explícitamente.

Por ello, te recomiendo que especifiques siempre en qué shell quieres ejecutar tus comandos, para que no tengas que preguntarte por qué tu script se comporta de forma diferente cuando lo ejecutas manualmente que cuando lo ejecutas con el programa "at".

Automatizar

El programa "at" es uno de los muchos programas que te facilitarán el trabajo si utilizas una herramienta tan potente como el sistema operativo Linux en tus servidores. Utiliza herramientas que te faciliten el trabajo y automaticen tareas que de otra forma tendrías que hacer manualmente. Ahorrarás mucho tiempo y, por tanto, dinero.

Artículos sobre un tema similar

Docker build multiarch image
VMware frente a Proxmox: comparación de rendimiento
GitLab CI/CD: automatización de pruebas y despliegue de aplicaciones
Migración de VPS de VMware a Proxmox
Cambio en las licencias de VMware
Ejecución de Microsoft SQL Server en Linux
Copia de seguridad: el Proxmox Backup Server
Linux como router y cortafuegos
Cómo subir una imagen Docker al Registro Docker
Linux: gestión de volúmenes lógicos
Software RAID para Linux
Ejecutar una aplicación web detrás de un proxy
Migración de correo electrónico
Construcción multietapa Docker
Copia de seguridad de los datos al encender el ordenador
Podman
Importación de Windows a la virtualización Proxmox
Docker y correo PHP
Virtualización Proxmox
Docker y Cron
Lenovo ThinkPad X1 Carbon: puesta en servicio del módem LTE EM7544
Proyecto Yocto: Cree un sistema operativo personalizado para dispositivos integrados
Preparación de un servidor Linux para ejecutar una aplicación web en Python
Cómo solucionar el bajo rendimiento de los archivos compartidos en Docker
Cómo empezar a utilizar Docker correctamente
Instalación de Linux en un servidor HPE ProLiant DL320e dedicado
Cómo poner a prueba una aplicación web
Por qué utilizar el sistema de archivos JFS
Cómo arrancar desde un disco de 4TB con GTP usando UEFI
Sistema de archivos Btrfs
Raspberry PI
WINE - ejecución de programas Windous en Linux
Sistema operativo GNU/Linux

Boletin informativo

Si está interesado en recibir noticias puntuales por correo electrónico.
Puedes registrarte rellenando tu email suscripción de noticias.


+