Por defecto, el comando crontab -e utiliza la variable de entorno EDITOR para seleccionar el editor a utilizar. Esta variable en Solaris no está establecida y por ello, vamos a ver cómo editar nuestro crontab utilizando vi en vez de ed
Cómo ver el contenido del crontab
Para ver el contenido de nuestro crontab simplemente utilizaremos la opción -l del comando
# crontab -l#ident "@(#)root 1.21 04/03/23 SMI"## The root crontab should be used to perform accounting data collection.##10 3 * * * /usr/sbin/logadm15 3 * * 0 /usr/lib/fs/nfs/nfsfind30 3 * * * [ -x /usr/lib/gss/gsscred_clean ] && /usr/lib/gss/gsscred_clean
Si no hay ninguno asignado, entonces se muestra el siguiente mensaje
$ crontab -lcrontab: no es posible abrir su archivo crontab.
Añadir una entrada
Para incluir una nueva entrada a nuestro crontab, utilizaremos la opción -e del comando. Si no hemos establecido la variable EDITOR entonces utilizará ed por defecto
$ echo $EDITOR$ crontab -e0qcrontab: archivo temporal vacío
Ahora, vamos a exportar EDITOR para que sea vi nuestro editor por defecto
$ export EDITOR=vi$ crontab -e"/tmp/crontab0zayNG" 0 líneas, 0 caracteres~~:q!crontab: archivo temporal vacío
Formato del archivo
El formato del archivo crontab es el siguiente:
Minutos(0-59) Horas(0-23) Dia-de-Mes(1-31) Mes-del-Año(1-12) Día-de-la-Semana(0-6)
Por ejemplo, si queremos que el comando iostat -x > /var/report se ejecute cada hora de lunes a viernes, haremos lo siguiente
# export EDITOR=vi# crontab -e#M H D M DD CMD00 * * * 1,2,3,4,5 /usr/bin/iostat -x > /var/report.txt:wq# crontab -l#ident "@(#)root 1.21 04/03/23 SMI"## The root crontab should be used to perform accounting data collection.##10 3 * * * /usr/sbin/logadm15 3 * * 0 /usr/lib/fs/nfs/nfsfind30 3 * * * [ -x /usr/lib/gss/gsscred_clean ] && /usr/lib/gss/gsscred_clean#10 3 * * * /usr/lib/krb5/kprop_script ___slave_kdcs___##M H D M DD CMD00 * * * 1,2,3,4,5 /usr/bin/iostat -x > /var/report.txt
Los comentarios empiezan por # como siempre. A diferencia de Linux */n no significa que se repita cada n, en Solaris hay que poner el formato de UNIX SVR
Cómo evitar que un usuario edite su crontab
Para ello, simplemente incluiremos el login en el archivo cron.deny que se encuentra en /etc/cron.d
# cd /etc/cron.d# cat cron.denydaemonbinnuucplistennobodynoaccess# echo "oracle" >> cron.deny# su - oracleSun Microsystems Inc. SunOS 5.10 Generic January 2005$ crontab -ecrontab: no está autorizado para utilizar cron.
No hay comentarios:
Publicar un comentario