Pregunta

En el sistema de archivos de Linux, ¿dónde se deben colocar los scripts de usuario?

Estoy pensando específicamente en que cron llame a los scripts de Python.

¿Fue útil?

Solución

la información que obtuve:

/usr/local/sbin     custom script meant for root
/usr/local/bin      custom script meant for all users including non-root

Recortes de chatlog de irc.debian.org #debian:

(02:48:49) c33s: question: where is the _correct_ location, to put custom scripts
for the root user (like a script on a webserver for createing everything needed 
for a new webuser)? is it /bin, /usr/local/bin,...? /usr/local/scripts is 
mentioned in (*link to this page*)
(02:49:15) Hydroxide: c33s: typically /usr/local/sbin
(02:49:27) Hydroxide: c33s: no idea what /usr/local/scripts would be
(02:49:32) Hydroxide: it's nonstandard
(02:49:53) Hydroxide: if it's a custom script meant for all users including 
non-root, then /usr/local/bin
(02:52:43) Hydroxide: c33s: Debian follows the Filesystem Hierarchy Standard, 
with a very small number of exceptions, which is online in several formats at 
http://www.pathname.com/fhs/ (also linked from http://www.debian.org/devel/ and 
separately online at http://www.debian.org/doc/packaging-manuals/fhs/fhs-2.3.html)
(02:53:03) Hydroxide: c33s: if you have the debian-policy package installed, it's 
also in several formats at /usr/share/doc/debian-policy/fhs/ on your system
(02:53:37) Hydroxide: c33s: most linux distributions follow that standard, though 
usually less strictly and with more deviations than Debian.

gracias a hidróxido

Otros consejos

Si estás hablando de scripts creados por un usuario que se ejecutarán desde el crontab de ese usuario, normalmente los coloco en una carpeta bin o scripts en el directorio de inicio, o si están destinados a ser compartidos entre usuarios, a / directorio usr/local/scripts.

Para quien interese, el Estándar de jerarquía del sistema de archivos (FHS) Es un documento de estándares y sigue siendo una muy buena lectura.Describo la base de casi cualquier distribución de Linux y cuenta con el respaldo oficial, p.por Debian y la Base de estándares de Linux (LSB).

Sin embargo, no encontrarás ninguna respuesta positiva para esa pregunta, ya que...no está definido ;-).Lo único que puedo decir:No lo pongas en /bin (ni en /usr/bin)./usr/local/scripts también es inusual.$HOME/bin parece ser un lugar aceptable, si el script solo lo utiliza este único usuario.

Creo firmemente que si un usuario crea un archivo, va a su directorio de usuario (/home/nombre de usuario). Si no lo creó, entonces se vuelve más complicado.En el pasado simplemente los puse en /usr/local/bin, /bin o /usr/local/scripts, no estoy seguro acerca de etch, pero debes verificar para asegurarte de que /usr/local/ scripts está en realidad en $PATH de Cron.

El guía debian Puede resultar bastante útil cuando se trata de Ubuntu:

Normalmente, los programas se instalan solos en los subdirectorios /usr/local.Pero los paquetes de Debian no deben utilizar ese directorio, ya que está reservado para el uso privado del administrador del sistema (o del usuario).

/usr/local/bin Parece aceptable según la guía.

Personalmente pongo mis guiones $HOME/.scripts.

Sin embargo, desearía que LSB abordara específicamente esta cuestión.

¿Qué tal /home/nombre de usuario/bin?

Agregue ~/bin a $PATH y haga que el script sea ejecutable con chmod +x nombre de archivo.

personalmente prefiero

/home/username/.bin

De esta manera, la carpeta bin está oculta, pero aún puede agregarla a la RUTA y ejecutar todos los scripts con el bit x dentro.

Me gusta que mi directorio de inicio esté limpio (a primera vista) con muy pocas carpetas.

También puede agregar rutas a su archivo crontab como se muestra en un pregunta anterior relacionada con cron.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top