8 votos

Ganó crontab de root ' t guardar

Estoy tratando de agregar un crontab entrada a mi root crontab del usuario. Soy capaz de agregar una entrada sin problema a mi regular crontab del usuario, pero cuando me su a root de usuario y tratar de añadir una entrada crontab no guardar la entrada.

El proceso que estoy pasando es:

$sudo su
$crontab -e
# write out my crontab entry and then :wq to write and quit vi
$crontab -l
crontab: no crontab for root

También he intentado salir de vi usando wq! y que todavía no guardar la entrada.

La entrada que estoy entrando en:

* * * * * /sayhi.sh

sayhi.sh es un simple script de shell que estoy usando para intentar comprobar que el cron se ejecuta el trabajo.

Hay algo diferente que debo hacer si estoy tratando de crear una entrada a crontab de root? He estado mirando a su alrededor y no he visto nada acerca de crontab que es particular para el usuario root.

Cualquier ayuda se agradece!

7voto

Tony Williams Puntos 4903

Sus comandos en realidad debería de trabajo, sin embargo no es como yo lo haría.

En lugar de tratar de :-

sudo crontab -e -u root

a continuación, a la lista :-

sudo crontab -l -u root

Como una regla general de que yo vaya a una gran cantidad de problemas para nunca ejecutar una shell de root. Cuando yo utilizo sudo -s en lugar de sudo su.

Al salir de vi debería ver dos líneas :-

crontab: no crontab for root - using an empty one
crontab: installing new crontab

Si usted no obtiene esos dos líneas que tienen graves problemas. Si usted y, a continuación, la lista de comandos no muestra nada de lo que me iba a sospechar permiso de problemas.

Yo también no uso el ejemplo de la línea que usted está pidiendo que el sistema funcione "sayhi.sh" una vez por minuto durante todo el día, todos los días. También me pregunto acerca de la ruta "/sayhi.sh" - ¿de verdad tiene el guión de la derecha hasta la parte superior de su unidad de arranque? Eso no es una buena idea o tal vez significa "~/sayhi.sh" que en este caso sería en las root directorio de inicio (normalmente /var/root) o ¿te refieres a su directorio de inicio. En el crontab de archivos es mejor explícitamente el código de la ruta de acceso completa, independientemente.

Usted también darse cuenta de que tany de salida de la tarea no va a ir a cualquier terminal, pero en lugar de ser enviado por correo electrónico a la root (por defecto).

Si quieres comprobar que el cron se ejecuta tareas de un simple

*/5 * * * *   echo "CRON" > /Users/myname/.cronout

van a hacer que (el primer campo se ejecuta la tarea mucho más razonable que cada 5 minutos).

Los crontabs sí se almacenan en /usr/lib/cron/tabs. /usr/lib/cron es en realidad un enlace a /var/at y si vas allí encontrará la tabs directorio y también la cron.deny archivo. Comprobar que nadie se ha añadido a root de eso y si usted todavía no tiene alegría, entonces usted puede intentar :

echo > /var/at/tabs/root

lo que debe crear un archivo vacío que usted podría ser capaz de editar.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X