¿Dónde almacenar el script cronjob?

13

Prefiero no tenerlo en mi /home/myusername directorio. ¿Existe alguna práctica recomendada sobre dónde almacenar los scripts de shell para los cronjobs? En el nivel de raíz?

Estoy ejecutando el servidor de Ubuntu 12.04 en este momento.

tarabyte
fuente
1
¿Por qué no quieres guardarlo en tu directorio de inicio? Si son para ti personalmente, es exactamente donde deberían estar, probablemente en algún subdirectorio bien nombrado. Si son para el sistema tiene un todo, tal vez deberían estar en otro lugar. (La distinción puede ser vaga si eres el único usuario.)
Keith Thompson
1
Realmente no hay una "respuesta" a estas preguntas ... solo muchas muchas preferencias.
mdpc
puede encontrar algunos por defecto en /usr/sbin
tony gil

Respuestas:

13

Típicamente, pongo el mío en:

  • /usr/local/bin/ para que los scripts sean ejecutados por más de un usuario normal
  • /usr/local/sbin/ para los scripts que se ejecutan como root

De esa manera, se separa la tarea que hace el script, de cron que solo automatiza el lanzamiento.

Sin embargo, necesitarás root para almacenar archivos allí.

Sirex
fuente
"Necesitarás root para almacenar archivos allí, sin embargo". - No si establece los permisos correctos. Normalmente hago /usr/local y sus subdirectorios se pueden escribir en el grupo y agregarme al grupo (por ejemplo, install ). (Por supuesto, necesitarás root para establecer los permisos en primer lugar).
Keith Thompson
Soy el usuario principal y tengo privilegios de root. Preferiría que nadie más edite esto, así que me inclino hacia / usr / local. ¿No hay un directorio estándar / mycronjobs aunque la gente cree normalmente?
tarabyte
Si quieres que nadie más pueda editarlo. Haz que sea propiedad de root y establece 500 o 700 permisos en él. - incluso puedes hacer root: & lt; tu grupo & gt; @ 550 o 770. para un efecto similar con la posibilidad de editar sin tener que ir a la raíz. Sin embargo, es más simple simplemente sudo antes de editar el script y que sea propiedad de root.
Sirex
6
@terabyte, el directorio estándar suele ser ~/bin que luego se agrega al $ PATH. Solicitó la mejor práctica, bueno, está guardando sus scripts personales en su directorio de inicio. Es más ordenado y hace que sea mucho más fácil actualizarlo más tarde.
terdon
Si se trata de un script personal (nadie más necesita ejecutarlo), Terdon es correcto.
Sirex