Ejecuta tu propia aplicación al inicio (autorun.sh)

Sistema, SNMP, registros, administración de energía, administración de discos, RAID, iSCSI

Ejecuta tu propia aplicación al inicio (autorun.sh)

Notapor Rubik [QNAP Club] » Jue 14 Mar 2013 20:21

Si deseas que tu NAS QNAP ejecute una aplicación (o un conjunto de éstas) con cada inicio (o reinicio) de su sistema, éste es el procedimiento más recomendable:

1.- Conecta con el NAS QNAP utilizando SSH o Telnet (por ejemplo con PuTTY).

2.- Monta la partición flash correspondiente:

A) Si tu NAS está basado en ARM: TS-x10, TS-x12, TS-x19, TS-x19P...

mount -t ext4 /dev/mtdblock5 /tmp/config

B) Si tu NAS está basado en Intel (x86): TS-509, TS-809, TS-809U, TS-x39...

mount -t ext4 /dev/sdx6 /tmp/config

Nota: Dependiendo de la versión del firmware, la partición puede ser ext2, ext3 o ext4.

3.- Crea el archivo /tmp/config/autorun.sh y haz que sea ejecutable:

echo "#!/bin/sh" > /tmp/config/autorun.sh
echo "/share/HDA_DATA/.qpkg/autorun/autorun.sh > /share/HDA_DATA/.qpkg/autorun/autorun.log" >> /tmp/config/autorun.sh
chmod +x /tmp/config/autorun.sh

4.- Desmonta la partición flash:

umount /tmp/config

5.- Crea el directorio /share/HDA_DATA/.qpkg/autorun con el archivo autorun.sh:

mkdir /share/HDA_DATA/.qpkg/autorun
cd /share/HDA_DATA/.qpkg/autorun/
touch autorun.sh
chmod +x autorun.sh
touch autorun.log

6.- Edita el archivo /share/HDA_DATA/.qpkg/autorun/autorun.sh para que ejecute todo lo que quieras cada vez que el NAS se encienda o reinicia.

Ejemplo 1: Mostrar la frase "Comando u orden ejecutada satisfactoriamente" (que se registrará en el archivo autorun.log).

/bin/echo "Comando u orden ejecutada satisfactoriamente"

Ejemplo 2: Iniciar Optware iPKG y prevenir que se vuelva a ejecutar.

/etc/init.d/Optware.sh start
/bin/rm -f /etc/rcS.d/QS101Optware

Nota: Si utilizas una configuración RAID, deberás utilizar la ruta MD0_DATA en lugar de HDA_DATA.

Tienes más información al respecto (en inglés) en el Wiki de QNAP.
Rubik [QNAP Club]
 
Mensajes: 601
Registrado: Vie 08 Oct 2010 00:20
Ubicación: España

Re: Ejecuta tu propia aplicación al inicio (autorun.sh)

Notapor sanmi69 » Vie 15 Mar 2013 00:48

Existe una manera mas limpia de hacer esto y que tiene tiene como ventajas a que sobrevive a una actualización de firm y que nos ahorramos escribir en la flash.

La solución es modificar el fichero de configuración qpkg.conf añadiendo una entrada como si hubiéramos creado un paquete.

Yo tengo instalado un servidor DNS (dnsmask) en el nas y lo arrancó así al iniciar.

Mañana puedo poner exactamente como se hace pero es trivial.
sanmi69
 
Mensajes: 9
Registrado: Mar 05 Abr 2011 10:12

Re: Ejecuta tu propia aplicación al inicio (autorun.sh)

Notapor asturnauta » Lun 18 Mar 2013 00:58

Una solución muy interesante.

sanmi, ¿puedes comentar un poco más el método?, parece una solución interesante.


Gracias
asturnauta
 
Mensajes: 11
Registrado: Vie 05 Ago 2011 16:54

Re: Ejecuta tu propia aplicación al inicio (autorun.sh)

Notapor sanmi69 » Lun 18 Mar 2013 09:56

Es secillo. Solo hay que modificar el qpkg.conf (/etc/config/qpkg.conf ) añadiendo otra entrada

La entrada podría ser asi:

[Autorun]
Name = Autorun
Version = 1.0
Enable = TRUE
QPKG_File = IQPKGScripts.qpkg
Date = 2013-03-18
Shell = /share/Public/scripts.sh
Install_Path = /share/Public
Author = Sanmi69
(Example of Mine Below)


Al reiniciar, veremos en el administrador qpkg una entrada Autorun. Como esta Enable=TRUE lo autoarranca, ejecutando lo que tengamos puesto en Shell.
En realidad lo que ejecutaria en este caso es:
/share/Public/scripts.sh start

Como desde el administrador tenemos opciones de parar y reiniciar servicio, lo que en realidad hace es llamar a shell con dos parametros:
/share/Public/scripts.sh stop
/share/Public/scripts.sh restart


Al darle a parar, qpkg cambia automaticamente el qpkg.conf para poner Enable=FALSE.

PD: Para que este todo organizado, tengo los scripts con el resto de paquetes qpkg en /share/HDA_DATA/.qpkg y ahi me creo una carpeta por cada "qpkg" que he creado.

PD2: Se le puede poner al paquete una descripcion, un icono, etc. Tan solo busca como es el formato de cada entrada y las porpiedades posibles. Como ejemplo tienes el resto de entradas de tu fichero :)

Yo creo que esta opcion es mucho mejor que la de modificar el autorun del nas por:
a) Se puede administrar el arranque desde la propia interfaz de administracion
b) Sobrevive a una actualizacion de firm
c) Las escrituras en la nand-flash son limitadas. Nos ahorramos escrituras para modificar cada vez que actualizamos el firm.
sanmi69
 
Mensajes: 9
Registrado: Mar 05 Abr 2011 10:12

Re: Ejecuta tu propia aplicación al inicio (autorun.sh)

Notapor asturnauta » Lun 18 Mar 2013 10:12

Muchas gracias, lo anoto para probarlo cuando tenga un ratito.

Saludos
asturnauta
 
Mensajes: 11
Registrado: Vie 05 Ago 2011 16:54

Re: Ejecuta tu propia aplicación al inicio (autorun.sh)

Notapor Rubik [QNAP Club] » Mié 20 Mar 2013 17:37

Obviamente, existen diversas formas de conseguir un mismo resultado. Si os fijáis más detenidamente en el mencionado procedimiento, podréis ver que sólo se escribe en flash en una única ocasión, puesto que el archivo autorun.sh de la partición flash, realmente ejecuta el archivo autorun.sh que se encuentra en una partición de disco duro, y es éste último archivo, el que se ha de modificar para personalizar el arranque del sistema del NAS. De este modo, no perjudicamos la memoria flash (o DOM) del NAS, la cual, tiene unos ciclos de lectura y escritura muy limitados (como ya se ha comentado).

No obstante, el procedimiento de sanmi69 es igual de válido, e incluso, más interesante. ;)
Rubik [QNAP Club]
 
Mensajes: 601
Registrado: Vie 08 Oct 2010 00:20
Ubicación: España

Re: Ejecuta tu propia aplicación al inicio (autorun.sh)

Notapor sanmi69 » Mié 20 Mar 2013 18:15

Rubik [QNAP Club] escribió:Obviamente, existen diversas formas de conseguir un mismo resultado. Si os fijáis más detenidamente en el mencionado procedimiento, podréis ver que sólo se escribe en flash en una única ocasión, puesto que el archivo autorun.sh de la partición flash, realmente ejecuta el archivo autorun.sh que se encuentra en una partición de disco duro, y es éste último archivo, el que se ha de modificar para personalizar el arranque del sistema del NAS. De este modo, no perjudicamos la memoria flash (o DOM) del NAS, la cual, tiene unos ciclos de lectura y escritura muy limitados (como ya se ha comentado).

No obstante, el procedimiento de sanmi69 es igual de válido, e incluso, más interesante. ;)


A lo que me refería, es a que cada vez que flasheemos un nuevo firm, se pierde la modificación del autorun que está en flash, por lo que en cada actualización de firm, en lugar de escribir 1 vez en la flash, escribimos 2 veces (una con la actualización y otra con la modificación del autorun). Al menos esto me ocurría en versiones 3.4....

Aparte, yo creo que mediante la modificación de qpkg, tenemos más control de que se ejecuta al inicio o no ;)
sanmi69
 
Mensajes: 9
Registrado: Mar 05 Abr 2011 10:12

Re: Ejecuta tu propia aplicación al inicio (autorun.sh)

Notapor Juanjo » Mar 29 Sep 2015 22:08

Hola.
Aunque este post tiene algún tiempo me gustaría partir de el para plantearos una pregunta:

He creado una pequeña aplicación en mac con el editor de scripts de OSX. ¿como puedo hacer que se ejecute en mi NAS?

Gracias
Juanjo
 
Mensajes: 10
Registrado: Mié 25 Mar 2015 11:52


Volver a Sistema y administración de discos

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado