Bienvenidos a este capítulo del Curso de Linux para Hackers – Programar Tareas desde la Shell. Comparte este articulo y síguenos para recibir más capítulos y cursos gratis.
Esta guía es parte de un curso mucho más grande en donde te enseñamos a convertirte en hacker de 0 a 100. Desde los conocimientos más básicos hasta conseguir empleo.
En esta guía veremos desde cero un tema tan amplio como es Linux y lo haremos desde el punto de vista del hacking y la ciberseguridad.
Para saber más comente a continuación, respondemos todos y cada uno de los comentarios.
¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?
Conceptos que aprenderás en esta sección:
- Comando
at
para tareas programadas: cómo usarat
para programar tareas que se ejecutarán una sola vez. - Instalación y activación del servicio
atd
: pasos para instalar y activar el servicioat
en Linux. - Comandos
atq
yatrm
: listar y eliminar tareas programadas. - Opciones del comando
at
: diversas opciones deat
para configurar la ejecución de tareas. - Ejemplos de uso de
at
: diferentes formas de programar tareas usando fechas y horarios específicos.
Linux al mando
El comando at de Linux se utiliza para programar una tarea para que se ejecute una sola vez en un momento determinado, sin editar un archivo de configuración. Es una alternativa al programador de tareas cron. Puede resultar útil si queremos ejecutar un proceso después de un tiempo, como apagar el sistema, realizar copias de seguridad, enviar correos electrónicos como recordatorios, etc.
El comando at es capaz de ejecutar un comando o script en una fecha y hora específicas, o en un intervalo de tiempo determinado. Podemos utilizar minutos, horas, días o semanas para especificar la hora. También permite algunas palabras clave como medianoche o hora del té (que se utiliza para “hasta las 4 p. m.”).
Nota: No se puede utilizar para tareas recurrentes, para tareas recurrentes prefiera el crontab de Linux.
Los comandos atq y atrm también forman parte del comando at. Veamos brevemente cómo funcionan ambos comandos.
El comando atq: el comando atq se utiliza para mostrar las tareas pendientes del usuario. Si el usuario es un usuario root, mostrará todas las tareas. De lo contrario, mostrará el trabajo del usuario en particular. El formato de visualización de la salida es ID de tarea, fecha, hora, cola y nombre de usuario.
El comando atrm: Se utiliza para eliminar tareas, identificadas por su número de trabajo.
Opciones
El comando ‘at’ admite varias opciones para que sea más específico. Las opciones que se facilitan con el comando at son las siguientes:
- -V: Se utiliza para mostrar el número de errores estándar y salir exitosamente.
- -q: se utiliza para especificar la cola. La designación de la cola consiste en una letra. Varía de la a a la z o de la A a la Z. La cola es la cola predeterminada y la cola b se utiliza para el lote. Las colas con las letras más altas se ejecutan con mayor prioridad. La cola ‘=’ es una cola especial; está reservada para los trabajos que se están ejecutando actualmente.
- -m: se utiliza para enviar un correo electrónico al usuario cuando el trabajo se ejecuta correctamente. Funcionará si no hay salida.
- -M: Se utiliza para no enviar nunca correo al usuario.
- -f: Se utiliza para leer el trabajo desde el archivo en lugar de la salida estándar.
- -t: Se utiliza para especificar la hora de ejecución de un trabajo, estará en el formato [[CC]AA]MMDDhhmm[.ss].
- -l: La opción -l es un alias para el comando atq.
- -r: La opción -r es un alias para el comando atrm.
- -d: La opción -d es un alias para el comando atrm.
- -b: La opción -b es un alias para el comando por lotes.
- -v: La opción -v se utiliza para mostrar el tiempo del trabajo antes de su ejecución.
Para utilizar el comando at, tenemos que instalarlo en nuestro sistema. Veamos cómo instalarlo.
Instalar en el comando en Linux (Ubuntu)
Para instalar el comando, ejecute el siguiente comando:
sudo apt-get install at
El comando anterior solicitará la contraseña del sistema. Escriba la contraseña y presione la tecla ENTER. Iniciará un proceso demonio e instalará el comando at en su máquina. Considere el siguiente resultado:
Una vez instalado el comando at, debemos iniciar y habilitar el servicio atd . Para iniciar y habilitar el servicio atd en el momento del arranque, ejecute los siguientes comandos:
systemctl start atd
systemctl enable atd
El comando anterior iniciará y habilitará el servicio atd. Considere el siguiente resultado:
Una vez que el servicio atd esté habilitado en nuestra máquina, podremos programar cualquier tarea o comando. Ahora, estamos listos para programar nuestra primera tarea. Sigamos adelante.
Programe la primera tarea utilizando at
Para programar una tarea, ejecute el comando at seguido de la hora o una palabra clave.
Por ejemplo, para que se copie el archivo carlos.txt a la carpeta hackers a las 22:20, ejecute el comando de la siguiente manera:
at 10:20 pm
cp carlos.txt hackers
Presione las teclas CTRL+D o ^d para completar la tarea. El comando anterior programará el backup.sh a las 22:20. Considere el siguiente resultado:
echo "cp carlos.txt hacker" | a las 22:20
El comando anterior ejecutará el backup.sh a las 22:20. Considere el siguiente resultado:
Enumere las tareas programadas
Podemos listar todas las tareas programadas utilizando el comando atq . Si lo ejecutamos desde el usuario root, listará todos los trabajos del usuario. Pero, si no somos un usuario root, solo listará los trabajos del usuario en particular. Ejecute el comando de la siguiente manera:
atq
Considere el siguiente resultado:
En el resultado anterior, podemos ver que hemos programado solo una tarea. Muestra el ID de la tarea, la fecha y la hora, y el nombre de usuario, respectivamente.
Eliminar tarea programada
Podemos eliminar una tarea programada por su ID de tarea con el comando atrm . Para eliminar un trabajo programado, ejecute el comando atrm seguido del ID del trabajo de la siguiente manera:
atrm 2
El comando anterior eliminará la tarea que tiene el ID de tarea 2. Considere el siguiente comando:
A partir de la salida anterior, podemos ver si un trabajo se eliminó correctamente; no se mostrará ninguna salida. Para verificar si el trabajo se eliminó correctamente o no, ejecute el comando atq.
Verificar el contenido de la tarea programada
Podemos enumerar la tarea ejecutando el comando atq. Pero si queremos saber qué script o comando está programado, debemos ejecutar el comando at con la opción ‘-c’ seguida del ID de la tarea. Ejecute el comando de la siguiente manera:
at -c 1
El comando anterior mostrará el contenido de la tarea que tiene el ID de tarea 2.
Ejemplos del comando at
Algunos ejemplos útiles del comando at son los siguientes:
Ejemplo 1: Programar tarea a las 8:00 AM.
Para programar la tarea a las 8:00 AM, ejecute el comando de la siguiente manera:
at 8:00 AM
Producción:
Ejemplo 2: Programar una tarea a las 8:00 a. m. del próximo martes.
Para programar una tarea a las 8:00 a. m. del próximo martes, ejecute el siguiente comando:
at 8:00 AM tue
Producción:
Ejemplo 3: Programar una tarea a las 8:00 a. m. del próximo 15 de abril.
Para programar una tarea a las 8:00 a. m. del próximo 15 de abril, ejecute el siguiente comando:
at 8:00 AM feb 17
Producción:
Ejemplo 4: Programar tarea para las 8:00 a. m. de mañana.
Para programar una tarea a las 8:00 a. m. de mañana, ejecute el siguiente comando.
at 8:00 AM tomorrow
Producción:
Ejemplo 5: Programar tareas para que se ejecuten justo después de 2 horas .
Para programar una tarea para que se ejecute justo después de 2 horas, ejecute el siguiente comando:
ahora + 2 horas
Producción:
Obtener ayuda
Si te quedas atascado en algún lugar mientras usas el comando ‘at’, puedes buscar ayuda en tu terminal leyendo el manual. Para visualizar el manual del comando at , ejecuta el comando man de la siguiente manera:
Para leer más, desplácese por la salida y para salir del manual, presione la tecla ‘q’ .
Este comando tiene más opciones que puedes explorar
at --help
También te recomendamos consultar las páginas man para este comando:
man at
Resumen de los puntos clave:
- Comando
at
para programación de tareas puntuales
El comandoat
permite programar tareas únicas en Linux para que se ejecuten en un momento específico sin modificar archivos de configuración. Es ideal para tareas que deben realizarse solo una vez, como copias de seguridad o apagado del sistema. A diferencia decron
,at
no permite tareas recurrentes. - Instalación y activación del servicio
atd
Para usarat
, primero instala el servicio con:sudo apt-get install at
Luego, activa el servicioatd
con:systemctl start atd systemctl enable atd
- Programación de una tarea con
at
Para programar una tarea, usa el comandoat
seguido de la hora o fecha deseada, por ejemplo:at 10:20 pm cp carlos.txt hackers
Finaliza conCTRL+D
para guardar la tarea programada. Puedes programar una tarea con formatos variados, como:- Horas específicas:
at 8:00 AM
. - Fechas y días:
at 8:00 AM Tuesday
,at 8:00 AM April 15
. - Intervalos de tiempo:
at now + 2 hours
.
- Horas específicas:
- Verificar tareas programadas con
atq
El comandoatq
lista todas las tareas programadas para el usuario actual o para el root, mostrando el ID de tarea, fecha, hora y usuario. Ejemplo:atq
- Eliminar tareas programadas con
atrm
Para eliminar una tarea programada, usaatrm
seguido del ID de la tarea. Ejemplo:atrm 2
Puedes verificar si la tarea fue eliminada ejecutandoatq
.
- Ver el contenido de una tarea con
at -c
Para ver los comandos o scripts programados en una tarea, usa:at -c <ID de tarea>
- Opciones avanzadas del comando
at
-m
: envía un correo electrónico al usuario cuando la tarea se ejecuta correctamente.-f <archivo>
: lee el comando desde un archivo en lugar de la salida estándar.-l
: alias para listar tareas (atq
).-r
y-d
: alias para eliminar tareas (atrm
).
- Obtener ayuda adicional
Consultaman at
oat --help
para ver opciones adicionales y configuraciones avanzadas para el comandoat
.
Pon en práctica lo aprendido
Ahora pon a prueba lo aprendido con estas preguntas y ejercicios.
Preguntas
- ¿Para qué se utiliza el comando
at
en Linux y en qué se diferencia delcron
? - ¿Qué tipo de tareas se pueden programar con el comando
at
? - ¿Cuál es la función del comando
atq
y cuándo es útil? - ¿Cómo se elimina una tarea programada usando el comando
atrm
? - ¿Qué debe hacerse antes de programar una tarea con
at
en un sistema Ubuntu? - ¿Cómo se inicia y habilita el servicio
atd
en el arranque del sistema? - ¿Qué opciones de tiempo y palabras clave admite
at
para especificar la programación? - ¿Cómo se lista el contenido específico de una tarea programada con el ID de tarea?
- ¿Qué opciones adicionales permite
at
y cómo se muestran en el manual de ayuda? - ¿Cómo programarías una tarea para ejecutarse en un tiempo relativo, como dentro de dos horas?
Ejercicios
- Instale el paquete
at
en su sistema y verifique su instalación iniciando el servicioatd
. - Programe una tarea que copie un archivo a una carpeta específica a las 6:00 PM y verifique su programación con
atq
. - Elimine una tarea programada con
atrm
usando su ID y confirme su eliminación. - Programe una tarea para que se ejecute a las 10:00 AM del próximo martes y verifique con
atq
que esté lista. - Programe una tarea que se ejecute en 30 minutos y verifique su programación.
- Programe un script
backup.sh
para que se ejecute mañana a las 9:00 AM y confirme su programación. - Consulte el contenido de una tarea programada usando
at -c
y explique la salida. - Ejecute
at --help
y liste tres opciones adicionales junto con sus funciones. - Programe una tarea a las 7:00 AM del próximo 15 de abril y verifique que esté correctamente programada.
- Programe una tarea para que se ejecute el próximo domingo a las 5:00 PM y confirme su programación con
atq
.
Respuestas a las Preguntas
- Comando
at
: Programa tareas para ejecutarse una vez en un momento específico; a diferencia decron
, no permite tareas recurrentes. - Tareas con
at
: Copias de seguridad, envíos de correos, apagado del sistema, y cualquier comando o script ejecutable en una fecha y hora específicas. - Función de
atq
: Muestra todas las tareas pendientes del usuario o de todos los usuarios si se ejecuta como root. - Eliminar tareas con
atrm
:atrm <ID_tarea>
elimina una tarea programada según su ID. - Instalar
at
en Ubuntu: Usarsudo apt-get install at
e iniciar el servicioatd
. - Iniciar y habilitar
atd
: Usarsystemctl start atd
ysystemctl enable atd
para activar el servicio al arranque. - Opciones de tiempo en
at
: Admite palabras comomañana
,mediodía
, y tiempos relativos comoahora + 2 horas
. - Listar contenido de una tarea: Usar
at -c <ID_tarea>
para ver los comandos específicos programados en la tarea. - Opciones adicionales en
at
: Consultar conat --help
oman at
. - Programar tarea en tiempo relativo:
at now + 2 hours
ejecuta una tarea en dos horas.
Respuestas a los Ejercicios
- Instalar y verificar
at
: Usarsudo apt-get install at
, iniciarsystemctl start atd
, y verificar su estado consystemctl status atd
. - Programar tarea de copia a las 6:00 PM:
at 6:00 pm
, luegocp archivo.txt /ruta/destino
, y confirmar conCTRL+D
. Verificar conatq
. - Eliminar tarea con
atrm
: Usaratrm <ID_tarea>
y confirmar conatq
que la tarea no aparece. - Tarea para el próximo martes a las 10:00 AM:
at 10:00 am Tue
, escribir comando, confirmar conCTRL+D
, y verificar conatq
. - Programar en 30 minutos:
at now + 30 minutes
, escribir comando, y confirmar conCTRL+D
. Verificar enatq
. - Programar
backup.sh
para mañana a las 9:00 AM:at 9:00 am tomorrow
,./backup.sh
, y verificar conatq
. - Consultar contenido de tarea con
at -c
:at -c <ID_tarea>
muestra el script o comando específico programado. - Opciones adicionales de
at
:-m
: Envía correo al usuario al completarse.-t
: Permite formato de fecha y hora detallado.-v
: Muestra el tiempo de ejecución antes de confirmarse.
- Programar tarea para el 15 de abril a las 7:00 AM:
at 7:00 am April 15
, escribir comando y confirmar conCTRL+D
. - Programar para el próximo domingo a las 5:00 PM:
at 5:00 pm Sun
, escribir comando, confirmar conCTRL+D
, y verificar conatq
.
No te detengas, sigue avanzando
Aquí tienes un propósito que debes considerar seriamente: si has querido mejorar tus habilidades en hacking, Ciberseguridad y programación ahora es definitivamente el momento de dar el siguiente paso. ¡Desarrolla tus habilidades aprovechando nuestros cursos a un precio increíble y avanza en tu carrera! El mundo necesita más hackers…
- Cómo conseguir trabajo de hacker en 2024
- Trabaja remoto e internacionalmente como Hacker en 2024
- Se necesitan más Hackers – Hechos y estadísticas de 2024
- Se Necesitan más Hackers – La escasez de habilidades en ciberseguridad está empeorando
- El salario de un hacker – Cuanto se gana como Pentesters/ Infosec
- Las empresas te estan buscando para hacerle frente a los ciberataques
- Cómo convertirse en analista de ciberseguridad
- Inicia en hacking y ciberseguridad como analista SOC
- DevOps vs DevSecOps para Hackers
- DevOps vs DevSecOps para Empresas
¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?
Sobre los autores
Álvaro Chirou
Yo soy Álvaro Chirou, tengo más de 20 Años de experiencia trabajando en Tecnología, eh dado disertaciones en eventos internacionales como OWASP, tengo más de 1.800.000 estudiantes en Udemy y 100 formaciones profesionales impartidas en la misma. Puedes seguirme en mis redes:
Laprovittera Carlos
Soy Laprovittera Carlos. Con más de 20 años de experiencia en IT brindo Educación y Consultoría en Seguridad de la Información para profesionales, bancos y empresas. Puedes saber más de mi y de mis servicios en mi sitio web: laprovittera.com y seguirme en mis redes:
Hacker de 0 a 100 desde las bases hasta conseguir empleo
¿Quieres iniciarte en hacking y ciberseguridad pero no sabes por dónde empezar? Inicia leyendo nuestra guia gratuita: https://achirou.com/hacker-de-0-a-100-desde-las-bases-hasta-conseguir-empleo/ que te lleva de 0 a 100. Desde los fundamentos más básicos, pasando por cursos, recursos y certificaciones hasta cómo obtener tu primer empleo.
Hemos creado una ruta de 0 a 100. Un plan de desarrollo que va desde las bases: cómo aprender hacking, qué aprender, en qué orden; pasando por las areas técnicas necesarias como Linux, Redes, Programación y los conocimientos necesarios en ciber seguridad, hacking, pentesting hasta la práctica y el inicio laboral: Crear tu propio laboratorio, certificaciones, adquirir experiencia e iniciarse laboralmente.
Este es un mega post. Una guía con más de 250 artículos que te llevaran por el camino del hacker. Esta guía es gratuita y esta creada gracias al esfuerzo y al trabajo combinado de Alvaro Chirou y mío (Laprovittera Carlos).
Creamos esta guía (futuro curso) para que puedas iniciarte en este mundo. Puedes arrancar ahora, GRATIS, solo necesitas un PC, conexión a internet y paciencia (Ser hacker NO ES un camino de la noche a la mañana).
El Hacking y la ciberseguridad es una carrera divertida, emocionante y gratificante que te recompensará y desafiará por igual. Sin embargo, para quienes buscan adentrarse en este campo en auge y en constante evolución, puede resultar difícil saber por dónde empezar. ¡Ahí es donde entra en juego nuestra guía en ciberseguridad!
Esta es la hoja de ruta hacia el trabajo de ciberseguridad de tus sueños. Te ayudará a entender qué conocimientos, habilidades y certificados son necesarios para alcanzar tus metas profesionales y tener una carrera próspera. Si quieres ser consultor de ciberseguridad, analista de malware, evaluador de penetración, analista de SOC o cualquier otro puesto de ciberseguridad, esta guía es lo que necesitas.
SIGUE APRENDIENDO GRATIS CON NUESTRAS GUIAS
- Cómo Iniciarse en Hacking y Ciberseguridad en 2024
- Hacker de 0 a 100 desde las bases hasta conseguir empleo
- Curso de Redes para Hackers
- Curso Gratis de Programación
- Curso Gratis Linux – Capitulo 1 – Introducción a Linux
- Curso Gratis de Redes – Capitulo 1 – Tipos de redes y servicios
- Guía de Hacking y Pentesting capitulo 1: Introducción al Pentesting
- Como iniciarse en TRY HACK ME – Complete Beginner #1
- OSINT #1 Más de 200 Search Tools
- Curso Gratis de Java para Hackers
- Hardware para Hackers – Los mejores 40 Dispositivos de Hacking
- Guía de Flipper Zero – Qué es y para qué sirve
- SIGUE APRENDIENDO GRATIS EN NUESTRO BLOG
Aprende con nuestros más de 100 cursos que tenemos disponibles para vos
Compartimos estos recursos para ayudar a la comunidad de hacking y ciberseguridad. COMPARTE y Siéntete libre de agregar más sugerencias en los comentarios a continuación, respondemos todos y cada uno de los comentarios.
Saludos amigos y happy hacking!!!