Yo sigo atascada con Cron

Imagen de kizkur
0 puntos

Necesitaría saber cuales serían todos los pasos a dar para que se guardaran cada media hora tanto los nombres de los usuarios conectados como los procesos que están en marcha y que se fueran quedando grabados en un archivo. Alguna ayuda???

Imagen de joseluis
+1
0
-1

El comando who te da información de los usuarios conectados. Mediante ps puedes ver los procesos que están corriendo. Y con crontab -e puedes programar el cron para que lance estos dos comandos cuando te interese. Yo he hecho la siguiente prueba; He creado el directorio /miscosas/log y le he dado permisos a todo el mundo, es que no tenía ganas de complicarme la vida con los permisos ;)

mkdir /miscosas/log
chmod 777 /miscosas/log

He creado un script en /usr/local/bin de nombre usrproc con el siguiente contenido:

#!/bin/bash

fecha=`/bin/date +%Y%m%d%H%M`

/usr/bin/who > /miscosas/log/who-${fecha}.log
/bin/ps aux > /miscosas/log/ps-${fecha}.log

He programado cron con crontab -e y he puesto lo siguiente:

# m h  dom mon dow   command
SHELL=/bin/bash

50 * * * * /usr/local/bin/usrproc
20 * * * * /usr/local/bin/usrproc

De esa forma en los minutos 20 y 50 de todas las horas (es decir cada media hora) se lanza el proceso y genera dos nuevos ficheros cada vez.


Lectura obligada:
+1
0
-1

Fdo. Forense asesino, Censor fundamentalista, Fustigador de novatos y Patético maleducado

Imagen de burukoxkor
+1
0
-1

pero intento seguir tu procedimiento y me encuentro con que no me deja a mi guardar el script en el mismo directorio en el que tu lo has hecho me dice que no tengo suficientes privilegios. ( no entiendo por qué..)

Gracias de antemano. 

+1
0
-1
Imagen de joseluis
+1
0
-1

Para crear el script en /usr/local/bin tendrás que hacerlo como root, por ejemplo en Gnome lo puedes hacer con ALT+F2 -> gksudo "gedit /usr/local/bin/usrproc" o desde un terminal con sudo gedit /usr/local/bin/usrproc (en lugar de gedit pon el editor que más te guste)

Luego tendrás que darle permisos de ejecución -> sudo chmod 755 /usr/local/bin/usrproc

 

 


 

Lectura obligada:

+1
0
-1

Fdo. Forense asesino, Censor fundamentalista, Fustigador de novatos y Patético maleducado

Imagen de burukoxkor
+1
0
-1

crontab: installing new crontab
"/tmp/crontab.5lf26R/crontab":0: bad minuteoze
errors in crontab file, can't install.ilproze
Do you want to retry the same edit?

Eso es lo que me aparece tras editar crontab...

 

+1
0
-1
Imagen de joseluis
+1
0
-1

Pega aquí lo que estás intentando poner en el crontab. Yo he hecho una prueba poniendo:

# m h  dom mon dow   command
60 * * * * /usr/local/bin/usrproc

y me sale el error

"/tmp/crontab.pK0Iio/crontab":1: bad minute
errors in crontab file, can't install.
Do you want to retry the same edit?

porque estoy poniendo 60 en los minutos (debe ir de 0 a 59). No se si será tu caso, pero por si acaso pega aquí lo que pones dentro del crontab.


Lectura obligada:
+1
0
-1

Fdo. Forense asesino, Censor fundamentalista, Fustigador de novatos y Patético maleducado

Imagen de piponazo
+1
0
-1

Hola. Estoy teniendo problemas con la utilidad cron. Especifico una tarea a una hora determinada sin problemas de esta forma:

#m h dom mon dow commandSHELL=/bin/bash
21 17 * * * /usr/bin/alarma

y ese script de alarma es simplemente esto:

#!/bin/sh
/usr/bin/amarokapp -p /home/pipo/Tiga-Hot_In_Here.mp3 &

Hasta ahí ningun problema, el script lo ejecuto y hace su función correctamente. Pero la tarea la planifico para la hora que sea y no ocurre nada. ¿Alguién me puede echar una mano?.

Daría todo lo que se, por la mitad de lo que ignoro.

+1
0
-1

Daría todo lo que se, por la mitad de lo que ignoro.

Imagen de eramiro
+1
0
-1

No te dá ningún error en algún fichero de log o en el mail del usuario que tiene la entrada en el cron??

 

---

"Software is like sex: it is better when it is free."

+1
0
-1

---

"Software is like sex: it is better when it is free." 

Imagen de topito_u
+1
0
-1

 Hola, pon /home/pipo/text 2<&1 a la derecha de la ruta, así:

/usr/bin/amarokapp -p /home/pipo/Tiga-Hot_In_Here.mp3 & -> /home/pipo/text 2<&1

Esto te enviará un mensaje a tu carpeta personal de lo que pueda haber pasado

¿No tendrá algo que ver que la shell del crontab sea bash y la del encabezamiento del script sh? 

 

+1
0
-1

carlos
presencia

Imagen de joseluis
+1
0
-1

Desde cron únicamente puedes lanzar aplicaciones no gráficas por eso no te va a funcionar con amarokapp, de hecho si pruebas a lanzar tu script alarma en una consola (me refiero a las que salen con la combinación de teclas CTRL+ALT+F1...CTRL+ALT+F6) te debería salir el error amarok: cannot connect to X server que es lo que le debe estar pasando al cron.

Si lo que quieres es que a una hora determinada te reproduzca una canción yo lo que haría es utilizar un reproductor en modo texto, por ejemplo mpg321 con lo que la configuración del cron quedaría como:

#m h dom mon dow commandSHELL=/bin/bash
21 17 * * * /usr/bin/mpg321 "/home/pipo/Tiga-Hot_In_Here.mp3"

...

Pues buscando cron para aplicaciones gráficas he encontrado una opción para ejecutar desde el cron aplicaciones gráficas, la idea es poner DISPLAY=":0" antes del comando que se ejecuta en el cron. Así si configuramos el cron como:

#m h dom mon dow commandSHELL=/bin/bash
21 17 * * * DISPLAY=":0" /usr/bin/amarokapp -p "/home/pipo/Tiga-Hot_In_Here.mp3"

  • La guia Ubuntu - solución a muchos problemas
  • Google y el buscador de ubuntu-es son tus amigos

Fdo. El forense asesino alias Censor fundamentalista.

+1
0
-1

Fdo. Forense asesino, Censor fundamentalista, Fustigador de novatos y Patético maleducado