Aller au contenu


- - - - -

Autorun.sh Et Autres Solutions "lancement De Serveur"


12 réponses à ce sujet

#1 father_mande

    Qnapeur officiel

  • Administrateurs
  • 3 249 messages
  • Matériel: TS-459 Pro, TS-219, TS-109 II

Posté 08 février 2010 - 09:53

Tutoriel : Lancer ces propres serveurs / services au démarrage de son Qnap

Problème : J'ai installé un serveur (via IPKG généralement) et je souhaite qu'il se lance automatiquement au reboot de mon Qnap, et éventuellement qu'il s'auto relance en cas de crash inattendu et même plus, en cas de crash … qu'il me laisse un message dans le log du type : « relaunch process ».

Base pour comprendre :

Que se passe t-il lors du boot au lancement des applications par le Qnap
Le Linux exécute un script nommé rcS_normal (dans /etc/init.d )

Ce script exécute dans l'ordre (çà c'est important )
… TOUS les fichiers commençant par un Snn (nn = numéro) situés dans le répertoire /etc/rcS.d par ordre croissant des nn .
… En fait, ces fichiers sont des liens vers les scripts de /etc/init.d exécuté avec le paramètre start
PUIS
… TOUS les fichiers commençant par QS1nn_______ par ordre croissant des nn (aussi exécuté avec start).
… Ces fichiers QS1nn___ sont crées dynamiquement (par un des scripts Snn___ ) donc juste avant, a partir du contenu du fichier des QPKG ( /etc/config/qpkg.conf ) le chiffre nn étant le rang du QPKG dans le fichier qpkg.conf en commençant par zero (00), CECI a de l'importance, car entre autre le QPKG Optaware (IPKG) est « lancé » via le shell Optware-ipkg.sh sur lequel pointe un lien QS1nnOptware-ipkg (ce nom : Optware-ipkg peut changer en fonction des versions de firmware et des modéles). DONC IPKG est activé APRES exécution de TOUS les Snn_____ .

Qu'a prévu Qnap pour lancer son propre shell ? :

Qnap autorise l'ajout de son (ses) propres scripts a condition qu'ils soient écrit dans une zone de mémoire flash particulière.
Cette zone est /dev/mtdblock5 (TS-x09 X10 X19 Arm) /dev/sdx6 (TS-Intel) (TBC), il faudra donc « monter » cette partition sur un point de montage (répertoire). Pour connaitre "votre" partition, car je n'ai pas tous les modèles de Qnap, le mieux est de rechercher dans le fichier /etc/inbit.d/init_nas.sh la variable : DEV_NAS_CONFIG et chercher quand elle est chargée; attention elle est initialisé puis modifié, ou non, suite à un test sur le modèle de Qnap.

Ceci est fait (lancer votre script) par le script S98init_nas (pointe sur /etc/init.d/init_nas.sh ) qui « monte » la partition dans /tmp/config, recherche le ou les scripts, les exécute. DONC AVANT le lancement des QS1nn______ (donc d'IPKG) .

QUEL SCRIPTS ? :

En fait un seul est très connu et utilisé couramment : autorun.sh MAIS rien ne vous empêche (en plus ou à la place de) d'avoir des shell nommés : K01___.sh (le K01 est obligatoire, ainsi que le .sh entre les deux, c'est comme vous voulez) .

La différence :
autorun.sh … est exécuté en mode direct « /tmp/config/autorun.sh » (donc on attend la fin du shell pour reprendre la main) ce script n'est pas ré exécuté lors de l'arrêt du système.

Les K01xxxx.sh sont exécutés en mode « arrière plan » « /tmp/config/K01xxxx.sh start & » PUIS sont recopiés dans /etc/rcK_init.d pour être rappelés avec le paramètre stop lors de l'arrêt normal du systéme.

Créer ou Modifier les scripts :

Comme indiqué les scripts sont a modifier ou créer dans une des partitions /dev/mtdblock5 ou /dev/sdx6
1) montez la partition :
mount /dev/mtdblock5 /tmp/config
cd /tmp/config

2) éditez le fichier si il n'existe pas il sera crée :
vi autorun.sh
entrez x ou w pour l'écrire q pour quitter vi
Si vous avez déjà les ipkg, préférez vim à vi ... car avec une aide complète et plus de fonctions.
3) modifiez le droit de autorun.sh pour le rendre exécutable
chmod +x autorun.sh
4) N'OUBLIEZ PAS DE DÉMONTER la partition (pour assurer l'écriture physique (sure) des données.) :
cd /tmp
umount /tmp/config


Le principe est le même pour les fichiers K01xxxxx.sh

AUTORUN.SH :

Le mieux est d'utiliser dans ce script l'appel a un autre script extérieur a la mémoire flash, qui pourra être modifié SANS retravailler le fichier autorun.sh

ex. :
 [/tmp] # mount /dev/mtdblock5 config
[/tmp] # cat config/autorun.sh
#!/bin/sh
# un seul script
/share/HDA_DATA/custom/autorunmaster.sh
# fini
[/tmp] # umount config


N'OUBLIEZ PAS DE DEMONTER la partition /dev/mtdblock5 ou /dev/sdx6 sous peine de risque d'erreur … .

autorunmaster.sh lançant lui-même les différents scripts souhaités et assurant un log par exemple :

#!/bin/sh
# Scriptname automaster.sh
# This script is called by autorun.sh which is executed at every startup of the system
# (See: http://forum.qnap.com/phpbb2/viewtopic.php?t=1168)
# You will find the reboot log at: /share/..._DATA/custom/log/autorun.log
# Define Target HDA_DATA or MD0_DATA
export TARG=HDA_DATA
 # Please add your scripts below
echo "Lancement des shell personnalises" >> /share/$TARG/custom/log/autorun.log
# update proftpd.conf
#/share/$TARG/custom/scripts/proftpd.sh
echo "start sshd shell /share/$TARG/custom/scripts/sshd.sh " >> /share/$TARG/custom/log/autorun.log
/share/$TARG/custom/scripts/sshd.sh
echo "Fin de autorunmaster.sh" >> /share/$TARG/custom/log/autorun.log
 


QUE faire ? puisque autorun.sh s'exécute AVANT le lancement des QS1nn_____ donc entre autre AVANT Optware-ipkg.sh

Solution 1 : lancer un script en « arrière plan » ( & ) et ajouter un délai … bon c'est pas sur …

Solution 2 : lancer le serveur en utilisant un Path complet donc de type /share/HDA_DATA/.qpkg/Optware/..........
Cela marche pour des serveurs simples ne demandant pas un environnement spécifique ou des libraries qui ne seront là qu'APRES le lancement d'Optware ???? par exemple « transmission » (TBC)

Solution 3 : ma préférée … lancer depuis autorun.sh Optware, puis supprimer le lancement automatique fait par le QS100Optware-ipkg
AINSI l'environnement IPKG sera opérationnel AVANT le lancement de vos serveurs installés par ipkg dans /opt :grin: :grin: :razz:
Il faut bien entendu trouver le numéro nn du shell ou positionner Optware en premier dans le fichier qpkg.conf

ex. :

[/tmp] # cat /share/HDA_DATA/custom/autorunmaster.sh
 #!/bin/sh
 # Scriptname automaster.sh
 # This script is called by autorun.sh which is executed at every startup of the system
# (See: http://forum.qnap.com/phpbb2/viewtopic.php?t=1168)
# You will find the reboot log at: /share/..._DATA/custom/log/autorun.log
# Define Target HDA_DATA or MD0_DATA
export TARG=HDA_DATA
# Please add your scripts below
#FIRST start Optawre and delete the /etc/rcS.d/QS100...sh
echo `date` >> /share/$TARG/custom/log/autorun.log

echo "start autorunmaster commencer par Optware" >> /share/$TARG/custom/log/autorun.log
/etc/init.d/Optware-ipkg.sh start

# supression du shell de start … automatique 
rm -f /etc/rcS.d/QS100Optware-ipkg

echo "Optawre started" >> /share/$TARG/custom/log/autorun.log

echo "Lancement des shell personnalises" >> /share/$TARG/custom/log/autorun.log
#
# update proftpd.conf
#/share/$TARG/custom/scripts/proftpd.sh
echo "start sshd shell /share/$TARG/custom/scripts/sshd.sh " >> /share/$TARG/custom/log/autorun.log
/share/$TARG/custom/scripts/sshd.sh
echo "Fin de autorunmaster.sh" >> /share/$TARG/custom/log/autorun.log
 


UTILISATION des K01______.sh : A completer … mais sans probléme particulier.

Comment lancer mon serveur comme un serveur surveillé par le Qnap ?
Qnap propose une commande :

/sbin/daemon_mgr nom_donné_au_service start|stop « /path/a/lancer parametres …. »

Que fait cette commande …
elle va lancer le programme entre guillemets
écrire un article dans le fichier /etc/daemon_mgr.conf
assurez une surveillance du programme et le relancer en cas de crash de plus en écrivant un article « relaunch process » dans le journal système.

Extrait du fichier :
 [/share/HDA_DATA/.qpkg/Optware] # cat /etc/daemon_mgr.conf
DAEMON0 = bcclient, start, /sbin/bcclient
DAEMON1 = hotswap, start, /sbin/hotswap &
…..[/color]
DAEMON19 = sshd, start, /opt/sbin/sshd -f /etc/ssh/sshd_config -p 9922
…..[/color]
DAEMON30 = min_snmptrapd, stop, /sbin/min_snmptrapd
DAEMON31 = Qthttpd, stop, /usr/local/sbin/Qthttpd
 


exemple d'utilisation de deamon_mgr dans un script appelé par autorunmaster.sh :
[/share/HDA_DATA/.qpkg/Optware] # cat /share/HDA_DATA/custom/scripts/sshd.sh
#!/bin/sh
# arret puis relance de sshd
TARG=HDA_DATA
SSH_PORT=`/sbin/getcfg LOGIN "SSH Port" -d 22`
SSH=/usr/sbin/sshd
OPENSSH=/opt/sbin/sshd
#
# STOP sshd
 echo "Shutting down sshd services:" >>/share/$TARG/custom/log/autorun.log
/sbin/daemon_mgr sshd stop $SSH
/usr/bin/killall sshd
rm -f /var/lock/subsys/sshd
#
# copy new sshd_config
cp /share/$TARG/custom/customized/sshd_config /etc/ssh/
# RESTART sshd
if [ `/sbin/getcfg LOGIN "SSH Enable" -u -d TRUE` = FALSE ]; then
echo "Starting sshd services: disabled." >>/share/$TARG/custom/log/autorun.log
else
echo "Starting sshd services: " >>/share/$TARG/custom/log/autorun.log

/sbin/daemon_mgr sshd start "$OPENSSH -f /etc/ssh/sshd_config -p $SSH_PORT"

touch /var/lock/subsys/sshd
fi
[/share/HDA_DATA/.qpkg/Optware] #


J'espère que ceci ne vous décourage pas ... j'aurai pu simplement reprendre ce qui est dans le wiki ou une des recettes toute faites des forums, j'ai préféré essayer de vous donner les mécanismes mis en oeuvre ... en cas de problémes, je crois que c'est plus facile, ainsi, de retrouver une erreur.

Philippe.
NB. A relire, compléter, modifier, corriger .... :grin:
QNAP TS-459, 3.6.0, Virtualbox, OpenVPN
QNAP TS-109, Debian Squeeze
QNAP TS-219P II, 3.6.1
La théorie, c’est quand on sait tout et que rien ne fonctionne. La pratique, c’est quand tout fonctionne et que personne ne sait pourquoi.
Le Raid N'EST PAS un backup (proverbe Qnapien)

#2 oxyde

    Qnapeur fidèle

  • Membres
  • PipPip
  • 15 messages
  • Matériel: TS-239 Pro

Posté 09 février 2010 - 13:18

Salut et merci pour le tuto.

J'ai un TS 239 et je n arrive pas a trouver le autorun.sh.
Comme c est (enfin il me semble) un X86 j ai monté /dev/sdx6 dans tmp/config. Quand je fais un ls -la sur /tmp/config je ne vois pas le autorun.sh.
Alors est ce que c est moi qui m y prend mal ou est ce qu il faut monter autre chose que /dev/sdx6 ? Je n ai pas tres bien compris ce que tu dis la:

"Pour connaitre "votre" partition, car je n'ai pas tous les modèles de Qnap, le mieux est de rechercher dans le fichier /etc/inbit.d/init_nas.sh la variable : DEV_NAS_CONFIG et chercher quand elle est chargée; attention elle est initialisé puis modifié, ou non, suite à un test sur le modèle de Qnap."



Merci à un possesseur de 239 de m aider :)

A++

#3 cris

    Administrateur

  • Administrateurs
  • 2 567 messages
  • LocationFernelmont
  • Matériel: TS-459 Pro, TS-419P, TS-409 Pro

Posté 09 février 2010 - 13:59

Voir le messageoxyde, le 09 février 2010 - 13:18 , dit :

Salut et merci pour le tuto.

J'ai un TS 239 et je n arrive pas a trouver le autorun.sh.
Comme c est (enfin il me semble) un X86 j ai monté /dev/sdx6 dans tmp/config. Quand je fais un ls -la sur /tmp/config je ne vois pas le autorun.sh.
Alors est ce que c est moi qui m y prend mal ou est ce qu il faut monter autre chose que /dev/sdx6 ? Je n ai pas tres bien compris ce que tu dis la:

"Pour connaitre "votre" partition, car je n'ai pas tous les modèles de Qnap, le mieux est de rechercher dans le fichier /etc/inbit.d/init_nas.sh la variable : DEV_NAS_CONFIG et chercher quand elle est chargée; attention elle est initialisé puis modifié, ou non, suite à un test sur le modèle de Qnap."



Merci à un possesseur de 239 de m aider :)

A++

http://wiki.qnap.com...tion_at_Startup

Citation

mount -t ext2 /dev/sdx6 /tmp/config
vi /tmp/config/autorun.sh
chmod +x /tmp/config/autorun.sh
echo .
echo "unmounting /tmp/config..."
umount /tmp/config

Avant de poser votre question, pensez à vérifier si vos disques se trouvent dans la liste de compatibilité
- Besoin d'aide?
- Plugmedia [Alternative de la station multimedia]

#4 oxyde

    Qnapeur fidèle

  • Membres
  • PipPip
  • 15 messages
  • Matériel: TS-239 Pro

Posté 09 février 2010 - 14:46

Oui c est bien ce que j avais fait.
Regardes ma ligne de commande, est ce que c est normal que je ne vois pas de autorun.sh ? est ce qu il faut le creer soi meme la premiere fois ?

[~] # mount -t ext2 /dev/sdx6 /tmp/config
[~] # ls -la /tmp/config/
drwxr-xr-x 3 admin administ 1024 Jan 9 21:03 ./
drwxrwxrwx 8 admin administ 800 Feb 9 14:43 ../
-rw-r--r-- 1 admin administ 1 Jan 27 21:28 BOOT_COUNT
-rw-r--r-- 1 admin administ 380 Nov 7 05:55 board_level_test.cfg
-rw-r--r-- 1 admin administ 27 Jan 9 21:03 customise.conf
drwx------ 2 admin administ 12288 Aug 9 2009 lost+found/
-rw-r--r-- 1 admin administ 4430 Jan 9 20:01 uLinux.conf
[~] #

#5 father_mande

    Qnapeur officiel

  • Administrateurs
  • 3 249 messages
  • Matériel: TS-459 Pro, TS-219, TS-109 II

Posté 09 février 2010 - 15:04

Bonjour,

Voir le messageoxyde, le 09 février 2010 - 13:18 , dit :

Salut et merci pour le tuto.

J'ai un TS 239 et je n arrive pas a trouver le autorun.sh.
Comme c est (enfin il me semble) un X86 j ai monté /dev/sdx6 dans tmp/config. Quand je fais un ls -la sur /tmp/config je ne vois pas le autorun.sh.
Alors est ce que c est moi qui m y prend mal ou est ce qu il faut monter autre chose que /dev/sdx6 ? Je n ai pas tres bien compris ce que tu dis la:

"Pour connaitre "votre" partition, car je n'ai pas tous les modèles de Qnap, le mieux est de rechercher dans le fichier /etc/inbit.d/init_nas.sh la variable : DEV_NAS_CONFIG et chercher quand elle est chargée; attention elle est initialisé puis modifié, ou non, suite à un test sur le modèle de Qnap."

Merci à un possesseur de 239 de m aider :)

A++


Si vous avez pu "monter" /dev/sdx6 ... c'est que c'est le bon ...
Le ll (ls -la) ne montre pas en effet autorun.sh ... c'est a vous de le créer grâce a un éditeur de texte et de le rendre exécutable (chmod +x autorun.sh) .

ci-dessous un ll de /dev/sdx6 AVANT l'introduction d'un autorun.sh

[/tmp] # mount /dev/sdx6 config/
[/tmp] # ll config
drwxr-xr-x	3 admin	administ 	1.0k Jan 28 19:04 ./
drwxrwxrwx	8 admin	administ 	860 Feb 9 14:57 ../
-rw-r--r--	1 admin	administ 	1 Jan 28 19:06 BOOT_COUNT
-rw-r--r--	1 admin	administ 	27 Dec 2 20:36 customise.conf
-rw-r--r--	1 admin	administ 	53 Dec 2 20:31 hddlist.txt
-rw-r--r--	1 admin	administ 	2 Dec 2 20:31 hdnum.conf
-rw-r--r--	1 admin	administ 	40 Dec 2 20:31 hdtrg.conf
drwx------	2 admin	administ	12.0k Oct 26 10:32 lost+found/
-rw-r--r--	1 admin	administ 	3.5k Jan 28 19:04 smb.conf
-rw-r--r--	1 admin	administ 	11 Jan 28 19:04 smb.conf.cksum
-rw-r--r--	1 admin	administ 	4.9k Jan 28 19:02 uLinux.conf
[/tmp] #


il faut que l'autorun.sh apparaisse comme ceci :

-rwxr-xr-x 1 admin	administ 	40 Jan 28 19:04 autorun.sh


Philippe.
QNAP TS-459, 3.6.0, Virtualbox, OpenVPN
QNAP TS-109, Debian Squeeze
QNAP TS-219P II, 3.6.1
La théorie, c’est quand on sait tout et que rien ne fonctionne. La pratique, c’est quand tout fonctionne et que personne ne sait pourquoi.
Le Raid N'EST PAS un backup (proverbe Qnapien)

#6 oxyde

    Qnapeur fidèle

  • Membres
  • PipPip
  • 15 messages
  • Matériel: TS-239 Pro

Posté 09 février 2010 - 15:14

Voir le messagefather_mande, le 09 février 2010 - 15:04 , dit :


Le ll (ls -la) ne montre pas en effet autorun.sh ... c'est a vous de le créer grâce a un éditeur de texte et de le rendre exécutable (chmod +x autorun.sh) .



Merci voila qui est plus clair, je n avais pas trouvé cette info avant. Je pensais que ce fichier existait deja et qu il fallait l'enrichir !

#7 father_mande

    Qnapeur officiel

  • Administrateurs
  • 3 249 messages
  • Matériel: TS-459 Pro, TS-219, TS-109 II

Posté 09 février 2010 - 15:18

Bonjour,

Voir le messageoxyde, le 09 février 2010 - 15:14 , dit :

Merci voila qui est plus clair, je n avais pas trouvé cette info avant. Je pensais que ce fichier existait deja et qu il fallait l'enrichir !


Je vais mettre à jour le tutoriel .... merci

Philippe.
QNAP TS-459, 3.6.0, Virtualbox, OpenVPN
QNAP TS-109, Debian Squeeze
QNAP TS-219P II, 3.6.1
La théorie, c’est quand on sait tout et que rien ne fonctionne. La pratique, c’est quand tout fonctionne et que personne ne sait pourquoi.
Le Raid N'EST PAS un backup (proverbe Qnapien)

#8 tib

    Qnapeur fidèle

  • Membres
  • PipPip
  • 12 messages
  • Matériel: TS-239 Pro

Posté 25 mars 2010 - 10:22

Excellent tuto. Merci beaucoup. Je vais le parcourir avec attention.

#9 antanof

    Qnapeur fidèle

  • Membres
  • PipPip
  • 11 messages
  • Matériel: TS-239 Pro

Posté 14 juillet 2010 - 17:01

Bonjour à tous et merci pour ce tuto

Je commence à comprendre un peu mieux le rôle de autorun.sh.

Je voudrais modifier les clés ssh (avec puTTY)et les installer dans un repertoire qui n'existe pas par défaut sur le TS-239 : authorized_keys.

Si je comprends bien il faut créer l'autorun.sh et lui demander de retrouver mes bonnes clés à chaque démarrage.

C'est là que je ne saisis pas le script trouvé dans le How-to Guide v1.2 :

# Setup the files needed for SSHD
rm /root/.ssh/authorized_keys
cp /share/xxx_DATA/your_path/authorized_keys/root/;ssh/authoriezd_keys
chmod 644 /root/.ssh/your_path/sshd_config/etc/ssh/ssh_config
/etc/init.d/login.sh restart

j'imagine que xxx correspond à MD0, par contre your_path (le chemin...) je ne vois pas du tout...
Quelqu'un pourrait-il me donner un petit peu d'aide ?

#10 cris

    Administrateur

  • Administrateurs
  • 2 567 messages
  • LocationFernelmont
  • Matériel: TS-459 Pro, TS-419P, TS-409 Pro

Posté 06 août 2010 - 08:26

Voir le messageantanof, le 14 juillet 2010 - 17:01 , dit :

Bonjour à tous et merci pour ce tuto

Je commence à comprendre un peu mieux le rôle de autorun.sh.

Je voudrais modifier les clés ssh (avec puTTY)et les installer dans un repertoire qui n'existe pas par défaut sur le TS-239 : authorized_keys.

Si je comprends bien il faut créer l'autorun.sh et lui demander de retrouver mes bonnes clés à chaque démarrage.

C'est là que je ne saisis pas le script trouvé dans le How-to Guide v1.2 :

# Setup the files needed for SSHD
rm /root/.ssh/authorized_keys
cp /share/xxx_DATA/your_path/authorized_keys/root/;ssh/authoriezd_keys
chmod 644 /root/.ssh/your_path/sshd_config/etc/ssh/ssh_config
/etc/init.d/login.sh restart

j'imagine que xxx correspond à MD0, par contre your_path (le chemin...) je ne vois pas du tout...
Quelqu'un pourrait-il me donner un petit peu d'aide ?

Essaie de faire un find sur les fichiers à copier... ou le répertoire.
Avant de poser votre question, pensez à vérifier si vos disques se trouvent dans la liste de compatibilité
- Besoin d'aide?
- Plugmedia [Alternative de la station multimedia]

#11 toufou54

    Jeune Qnapeur

  • Membres
  • Pip
  • 3 messages
  • Matériel: TS-219P

Posté 15 août 2011 - 02:37

Salut father_mande,

Super tuto, il reste dans le top des mes bookmarks :P

J'ai une question sur les liens présents dans le répertoire /etc/rcK.d, que sont-ils, a quoi servent-ils (tu n'en parle pas que très rapidement dans ton tuto) ?
Dans ce même répertoire je retrouve un lien vers ipkg nommé cette fois QK1xxOptware !!

Mes scripts sont bien lancé via ta solution 3 mais je dois les tuer et les relancer à la main si je veux qu'ils s’exécutent correctement après reboot :(

Je constate que cela fait plus d'une question en fait...

Merci de ton aide

Sam

(ts-219P)

#12 father_mande

    Qnapeur officiel

  • Administrateurs
  • 3 249 messages
  • Matériel: TS-459 Pro, TS-219, TS-109 II

Posté 15 août 2011 - 14:24

Bonjour,

Voir le messagetoufou54, le 15 août 2011 - 02:37 , dit :

Salut father_mande,

Super tuto, il reste dans le top des mes bookmarks :P

J'ai une question sur les liens présents dans le répertoire /etc/rcK.d, que sont-ils, a quoi servent-ils (tu n'en parle pas que très rapidement dans ton tuto) ?
Dans ce même répertoire je retrouve un lien vers ipkg nommé cette fois QK1xxOptware !!

Mes scripts sont bien lancé via ta solution 3 mais je dois les tuer et les relancer à la main si je veux qu'ils s’exécutent correctement après reboot :(

Je constate que cela fait plus d'une question en fait...

Merci de ton aide

Sam

(ts-219P)


Les fichiers dans rcK.d sont appelés lors d'une demande d'arrêt du QNAP (ou de reboot) pour fermer les fichiers et applications correctement ... surtout les fichiers (vidage du cache écriture) et les bases de données ... )
QK1xxOptware "ferme" proprement Optware ce qui consiste simplement a faire un sync (écriture des caches disques) ....
Le problème de QNAP c'est qu'ils ne respectent pas l'ordre inverse des arrêts, donc par exemple un base de données lancé via Ipkg (Optware) verra ces Paths enlevés AVANT d'avoir été arrêté ... mais bon, normalement c'est limité comme erreur ...

Sinon, il faut vérifier que ce que vous lancez ne demande pas une ressources non disponibles à ce moment là ...
Cela peut dépendre de chaque application .... il me faudrait (pour avoir une chance (car rien n'est sur) de répondre une idée de ce que vous essayez de lancer ...

Philippe.
QNAP TS-459, 3.6.0, Virtualbox, OpenVPN
QNAP TS-109, Debian Squeeze
QNAP TS-219P II, 3.6.1
La théorie, c’est quand on sait tout et que rien ne fonctionne. La pratique, c’est quand tout fonctionne et que personne ne sait pourquoi.
Le Raid N'EST PAS un backup (proverbe Qnapien)

#13 toufou54

    Jeune Qnapeur

  • Membres
  • Pip
  • 3 messages
  • Matériel: TS-219P

Posté 16 août 2011 - 13:44

Voir le messagefather_mande, le 15 août 2011 - 14:24 , dit :

Bonjour,


Les fichiers dans rcK.d sont appelés lors d'une demande d'arrêt du QNAP (ou de reboot) pour fermer les fichiers et applications correctement ... surtout les fichiers (vidage du cache écriture) et les bases de données ... )
QK1xxOptware "ferme" proprement Optware ce qui consiste simplement a faire un sync (écriture des caches disques) ....
Le problème de QNAP c'est qu'ils ne respectent pas l'ordre inverse des arrêts, donc par exemple un base de données lancé via Ipkg (Optware) verra ces Paths enlevés AVANT d'avoir été arrêté ... mais bon, normalement c'est limité comme erreur ...

Sinon, il faut vérifier que ce que vous lancez ne demande pas une ressources non disponibles à ce moment là ...
Cela peut dépendre de chaque application .... il me faudrait (pour avoir une chance (car rien n'est sur) de répondre une idée de ce que vous essayez de lancer ...

Philippe.


Bonjour,

Merci pour cette précision, je comprends mieux maintenant.

J'essaye de lancer un script php (en daemon) et je viens de trouver le problème: les Paths ne sont pas encore initialisés au moment du lancement, j'ai ajouté quelques lignes grace à l'example donné ici (qui s'inspire de votre tuto il me semble..) :
...
rm -f /etc/rcS.d/QS105Optware
while ( test -z "$(grep /opt/bin /etc/profile)" )
do 
sleep 10
done
source /etc/profile
...



J’espère ne pas faire de bêtises en faisant de cette façon (je ne suis pas certain que la boucle soit bien utile à ce moment la vu la ligne d’après, qui, si je comprends bien, force l'initialisation des paramètres et variables universels), je devrais peut-être charger le .bash_profile de root à la place, non ?
Je ne suis pas expert en bash et à l'initialisation de linux...

Merci de votre aide





1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)