Contabilidad, fisalidad, laboral y linux en Canarias.

Ejecutar comando como root con cron.

Para ejecutar un comando como root a través del cron de root o del administrador del sistema, distinto de nuestro usuario, tendremos que ponerlo en el archivo crontab del propio usuario root. No nos pedirá la contraseña para ejecutarlo.

Ejecutar un comando como root.-

Editamos el fichero cron del usuario root:

sudo crontab -e

Nos abrirá el archivo con el editor vim. Crearemos una linea debajo debajo de todas las que comienzan por almohadilla, (generalmente la última es del tipo “# m h dom mon dow command”)

El contendido de esta línea deberá tener forma tal que:

*/20 * * * * /usr/bin/who >> /home/usuario/Prueba.txt

El ejemplo anterior, detecta e imprime en Prueba.txt, el o los usuarios activos en el sistema.

El primer */20 significa la frecuencia con que se ejecutará el comando, en minutos. En este caso, cada 20 minutos.
El resto de asteriscos es igual, pero referido, sucesivamente, a horas, dias, semanas y meses. Si figura solo un *, el comando se ejecutará todos los dias, semanas, etc, según donde figure.

En el ejemplo anterior, cada 20 minutos todos las horas, dias, semanas y meses. Distinto sería que figurase simplemente un 20, lo que haría ejecutarse el comando cada minuto 20 de cada hora, dia, semana y mes.

Para finalizar la edición, pulsaremos Ctrl+O, (O de Obispo…), Enter para sobreescribir el fichero y Ctrl+X para salir. Con un reinicio de sesión tendremos los cambios realizados y funcionando.

Ejecutar un comando como usuario.-

Editamos el cron de dicho usuario:

sudo crontab -e -u tunombredeusuario

Lo anterior, claro está, ejecutado en una terminal del mismo usuario.
En caso de que queramos editar el cron de un usuario que no es el que tiene una sesión abierta en el sistema (por ejemplo, como administrador de un sistema de varios usuarios), sí que especificaremos, antes del comando propio que estemos programando en cron, el nombre del usuario que va a ejecutar dicha operación. Hay que tener en cuenta que requerirá los permisos necesarios para llevarla a cabo. En este caso, especificamos despues del horario, el usuario, y tras éste, el comando a ejecutar.

*/20 * * * * USUARIOQUEEJECUTARÁELCOMANDO /usr/bin/who >> /home/usuario/Prueba.txt

Entradas relacionadas

Deja un comentario

RECUERDE QUE

El único objetivo de este blog es meramente informativo y en ningún caso supone asesoramiento profesional. Los textos y cualquier otra información aquí publicada están destinadas a un uso meramente informativo y documental. El autor o los autores de este sítio, no se hacen responsables de posibles inexactitudes en el contenido, ni de posibles perjuicios por su utilización. Los únicos textos que tienen validez jurídica son los publicados en los Boletines y Diarios Oficiales.

Creative Commons License