El at, para mí ese gran olvidado

Parece mentira que después de estar usando linux durante 6 años pueda decir esto pero ... hasta hoy no sabía como se usaba el comando at.
Cada vez que quería dejar algo para que se ejecutara a una determinada hora, ejecutaba un screen y dentro del screen escribía algo como sleep 2h;echo voquepachaaaaa.

Hoy me ha tocado la tarea de hacer un mirror de Ubuntu en el servidor de crisol y como por la mañana la red se usa mucho puse un at para que se ejecute a las 19:00 de hoy.

El comando que he ejecutado es:
echo "rsync -auz rsync://es.archive.ubuntu.com/ubuntu /var/www/ubuntu" | at 19:00
En 15 minutos veré si funciona o no.

El comando at forma parte de un conjunto de comandos que sirven para controlar una especie de cola de procesos por realizar.
Los más importantes son at para añadir tareas a la cola, atq para ver la cola de tareas y atrm para borrar tareas de la cola.
Su funcionamiento se me hace muy parecido al del comando lpr.

Un ejemplillo puede ilustrar el comportamiento de los tres:
jmferrerm@yinyan:~$ echo "ls"|at 18:50
warning: commands will be executed using /bin/sh
job 5 at Wed Aug 30 18:50:00 2006
jmferrerm@yinyan:~$ atq
5 Wed Aug 30 18:50:00 2006 a jmferrerm
jmferrerm@yinyan:~$ atrm 5
Cannot find jobid 5
jmferrerm@yinyan:~$ atq
jmferrerm@yinyan:~$

Hala, todos a at-ar.

Actualización
Otra forma más interactiva:

amonsul:/etc# at now +5min
warning: commands will be executed using /bin/sh
at> /etc/init.d/local-firewall stop
at>
job 7 at Tue Oct 28 15:14:00 2008
amonsul:/etc# atq
7 Tue Oct 28 15:14:00 2008 a root
amonsul:/etc#

Comentarios

Supongo que cuando dices

Supongo que cuando dices screen te referirás a script (http://es.wikipedia.org/wiki/Script_(inform%C3%A1tica)); lo mismo estoy equivocado, pero me suena raro screen aplicado así...

No está equivocado

Quería decir screen. Es uno de esos grandes que conoce poca gente.
Ejecutas el comando y se te abre una shell. Cuando cierras la ventana esa shell sigue ahí y luego la puedes retomar escribiendo screen -x.

Ok tomo nota entonces

Ok tomo nota entonces (http://lobotuerto.com/blog/2008/10/24/el-utilisimo-comando-screen/), gracias por la aclaración. Aunque reconozco que la consola tira para atrás a mucha gente, precisamente ahora me incluiría entre los que le repugna. Siguiendo tu consejo en rm -rf, le he echado un vistazo al websec y aunque lo he instalado no sé cómo leches hacerlo funcionar... Por lo que he deducido hay que crear un archivo url.list o algo así, pero no tengo claro ni donde, ni cómo usarlo, ni cómo integrarlo para funcionar junto con cron... En fin, lo que viene siendo un desastre.

Soy de los que opinan que para que algo simple funcione y sea usable, no tienes que perder una mañana completa, por lo que un entorno medianamente gráfico o al menos un tutorial simple explicando los pasos uno a uno no está de más... En fin, supongo que esta es la eterna lucha de siempre: los que saben no piensan mucho en el resto (van a su bola, ojo, no lo digo por ti) y los que no saben no están dispuestos a dedicar mogollón de tiempo a aprender.

Saludos.

A ver si me puedes echar una mano con el websec

Te agradecería si me pudieses echar una manyta jeje. He probado con el websec, he creado los archivos url.list e ignore.list (aunque este último no sé si es imprescindible...) en /home/elusuarioquesea/.websec (elusuarioquesea no es el que tengo puesto claro, sino el mío) ejecuto websec y parece que funciona, pero yo creo que hay que configurar algo más para que funcione, más que nada porque parece que funciona pero no recibo nada en el correo (y he comprobado que la web usada cambió desde la primera vez que lo ejecuté). Te pongo los archivos citados; el archivo url.list:


# Defaults
Auth = none
Diff = webdiff
Hicolor = blue
Ignore = General,Date_Time
IgnoreURL = Adverts
Tmin = 1
Tmax = 10
# Proxy = http://proxy.nus.edu.sg:8080
Email = midireccion@gmail.com


# Web page to monitor which does not require authentication
URL = http://elmanytas.is-a-geek.net
Name = La web del maytas
Prefix = webmaytas

He comentado la línea del proxy ya que mi conexión no pasa por uno (con lo cual esa línea en mi caso supongo que sobra), obviamente la dirección de correo mía no es esa (en mi archivo tengo la correcta), he puesto la dire de tu web pero no ha sido esa con la que he probado (me aseguré de probar con una que hubiese cambiado tras ejecutar por primera vez el websec). Y yo creo que el problema puede estar en el tema de la configuración para enviar emilios, ya que sin decirle nada más podría poner la dirección de cualquiera y se lo estaría mandando a ese cualquiera... No sé.

Y aunque supongo que carece de importancia te copio también el ignore.list (que simplemente copié el que había en la web del autor como ejemplo, supongo que es para ignorar cosas pequeñas que cambien frecuentemente, pero ni idea...):


[General]
all rights reserved
an error occurred
click here
comments
copyright


[Date_Time]
January\s+\d{1,2}
February\s+\d{1,2}
March\s+\d{1,2}
April\s+\d{1,2}
May\s+\d{1,2}

Espero que no te moleste esta consulta, si es así borras el comentario y no pasa nada, lo entiendo. Hasta ahora y gracias.

El at, para mí ese gran olvidado

Parece mentira que después de estar usando linux durante 6 años pueda decir esto pero ... hasta hoy no sabía como se usaba el comando at.
Cada vez que quería dejar algo para que se ejecutara a una determinada hora, ejecutaba un screen y dentro del screen escribía algo como sleep 2h;echo voquepachaaaaa.

Hoy me ha tocado la tarea de hacer un mirror de Ubuntu en el servidor de crisol y como por la mañana la red se usa mucho puse un at para que se ejecute a las 19:00 de hoy.

El comando que he ejecutado es:
echo "rsync -auz rsync://es.archive.ubuntu.com/ubuntu /var/www/ubuntu" | at 19:00
En 15 minutos veré si funciona o no.

El comando at forma parte de un conjunto de comandos que sirven para controlar una especie de cola de procesos por realizar.
Los más importantes son at para añadir tareas a la cola, atq para ver la cola de tareas y atrm para borrar tareas de la cola.
Su funcionamiento se me hace muy parecido al del comando lpr.

Un ejemplillo puede ilustrar el comportamiento de los tres:
jmferrerm@yinyan:~$ echo "ls"|at 18:50
warning: commands will be executed using /bin/sh
job 5 at Wed Aug 30 18:50:00 2006
jmferrerm@yinyan:~$ atq
5 Wed Aug 30 18:50:00 2006 a jmferrerm
jmferrerm@yinyan:~$ atrm 5
Cannot find jobid 5
jmferrerm@yinyan:~$ atq
jmferrerm@yinyan:~$

Hala, todos a at-ar.

Actualización
Otra forma más interactiva:

amonsul:/etc# at now +5min
warning: commands will be executed using /bin/sh
at> /etc/init.d/local-firewall stop
at>
job 7 at Tue Oct 28 15:14:00 2008
amonsul:/etc# atq
7 Tue Oct 28 15:14:00 2008 a root
amonsul:/etc#

Comentarios

Supongo que cuando dices

Supongo que cuando dices screen te referirás a script (http://es.wikipedia.org/wiki/Script_(inform%C3%A1tica)); lo mismo estoy equivocado, pero me suena raro screen aplicado así...

No está equivocado

Quería decir screen. Es uno de esos grandes que conoce poca gente.
Ejecutas el comando y se te abre una shell. Cuando cierras la ventana esa shell sigue ahí y luego la puedes retomar escribiendo screen -x.

Ok tomo nota entonces

Ok tomo nota entonces (http://lobotuerto.com/blog/2008/10/24/el-utilisimo-comando-screen/), gracias por la aclaración. Aunque reconozco que la consola tira para atrás a mucha gente, precisamente ahora me incluiría entre los que le repugna. Siguiendo tu consejo en rm -rf, le he echado un vistazo al websec y aunque lo he instalado no sé cómo leches hacerlo funcionar... Por lo que he deducido hay que crear un archivo url.list o algo así, pero no tengo claro ni donde, ni cómo usarlo, ni cómo integrarlo para funcionar junto con cron... En fin, lo que viene siendo un desastre.

Soy de los que opinan que para que algo simple funcione y sea usable, no tienes que perder una mañana completa, por lo que un entorno medianamente gráfico o al menos un tutorial simple explicando los pasos uno a uno no está de más... En fin, supongo que esta es la eterna lucha de siempre: los que saben no piensan mucho en el resto (van a su bola, ojo, no lo digo por ti) y los que no saben no están dispuestos a dedicar mogollón de tiempo a aprender.

Saludos.

A ver si me puedes echar una mano con el websec

Te agradecería si me pudieses echar una manyta jeje. He probado con el websec, he creado los archivos url.list e ignore.list (aunque este último no sé si es imprescindible...) en /home/elusuarioquesea/.websec (elusuarioquesea no es el que tengo puesto claro, sino el mío) ejecuto websec y parece que funciona, pero yo creo que hay que configurar algo más para que funcione, más que nada porque parece que funciona pero no recibo nada en el correo (y he comprobado que la web usada cambió desde la primera vez que lo ejecuté). Te pongo los archivos citados; el archivo url.list:


# Defaults
Auth = none
Diff = webdiff
Hicolor = blue
Ignore = General,Date_Time
IgnoreURL = Adverts
Tmin = 1
Tmax = 10
# Proxy = http://proxy.nus.edu.sg:8080
Email = midireccion@gmail.com


# Web page to monitor which does not require authentication
URL = http://elmanytas.is-a-geek.net
Name = La web del maytas
Prefix = webmaytas

He comentado la línea del proxy ya que mi conexión no pasa por uno (con lo cual esa línea en mi caso supongo que sobra), obviamente la dirección de correo mía no es esa (en mi archivo tengo la correcta), he puesto la dire de tu web pero no ha sido esa con la que he probado (me aseguré de probar con una que hubiese cambiado tras ejecutar por primera vez el websec). Y yo creo que el problema puede estar en el tema de la configuración para enviar emilios, ya que sin decirle nada más podría poner la dirección de cualquiera y se lo estaría mandando a ese cualquiera... No sé.

Y aunque supongo que carece de importancia te copio también el ignore.list (que simplemente copié el que había en la web del autor como ejemplo, supongo que es para ignorar cosas pequeñas que cambien frecuentemente, pero ni idea...):


[General]
all rights reserved
an error occurred
click here
comments
copyright


[Date_Time]
January\s+\d{1,2}
February\s+\d{1,2}
March\s+\d{1,2}
April\s+\d{1,2}
May\s+\d{1,2}

Espero que no te moleste esta consulta, si es así borras el comentario y no pasa nada, lo entiendo. Hasta ahora y gracias.