Aller au contenu

Ubooquity : Comment Lancer Ce Serveur Sous Java Au D


Messages recommandés

Bonjour

J'ai installé Ubooquity, un serveur de comics (Cbr, Cbz). C'est un fichier jar qui se lance avec java.

J'ai crée un script S99ubooquity.sh, chmod 755 dans le répertoire /usr/local/etc/rc.d/.

Voici le contenu du script (léger ... une seule ligne) :

/volume1/@appstore/JavaManager/Java/bin/java -jar /volume1/web/Ubooquity.jar -webadmin

Ce script se lance parfaitement à la main via un shh dans le terminal (le serveur est accessible sur le port 2022 et il indexe les bd) mais il n'est pas pris en compte au boot par le syno (dsm 5.0), il en démarre pas à partir du rc.d.

J'ai du oublié quelque chose (gestion du start and stop ?)

Si quelqu'un a une idée ?

Merci

Modifié par Zounta
Lien vers le commentaire
Partager sur d’autres sites

Ok merci mais pas mieux dans cet autre repertoire.

En attendant de creuser sur ce sujet des scripts de démarrage, je le lance à la main en gardant le terminal ssh ouvert (même pas peur du synolocker :huh: ).

J'ai aussi contacté le créateur sur son site pour échanger un peu avec lui.

http://vaemendis.net/ubooquity/

Modifié par Zounta
Lien vers le commentaire
Partager sur d’autres sites

Non pas géré le start and stop dans le script, je maitrise pas la syntaxe du shell.

il va aussi falloir s'y mettre. :huh:

Le chmod c'est ok

Pour le & j'ai essayé mais ca permet juste de continuer à travailler dans la console. Si tu la fermes, il semble que ca kille le process.

Il y a une autre solution avec nohup (essayé mais sans succès) et screen mais qui n'est pas installé sur le dsm 5.

Le créateur du programme s'est rendu compte qu'il était utilisé sur des syno bien que ce n'était pas sa première intention.

Merci pour le coup de main, je réanimerai ce topic quand j'aurais résolu mon pb de manière fiable.

Je reprend le boulot demain :(

Lien vers le commentaire
Partager sur d’autres sites

Bonsoir,

Non pas géré le start and stop dans le script, je maitrise pas la syntaxe du shell.

il va aussi falloir s'y mettre. :huh:

Le chmod c'est ok

Pour le & j'ai essayé mais ca permet juste de continuer à travailler dans la console. Si tu la fermes, il semble que ca kille le process.

Il y a une autre solution avec nohup (essayé mais sans succès) et screen mais qui n'est pas installé sur le dsm 5.

Le créateur du programme s'est rendu compte qu'il était utilisé sur des syno bien que ce n'était pas sa première intention.

Merci pour le coup de main, je réanimerai ce topic quand j'aurais résolu mon pb de manière fiable.

Je reprend le boulot demain :(

je crois que tu as raison.

Il y avait cet usage du "&" dans le tuto de Fredo de préparation des disques durs, mais après avoir eu le même souci que toi (la fermeture de la fenêtre de console stoppait la commande dd lancée) je lui en avais parlé l'été dernier et il m'avait dit que effectivement ça ne fonctionnait plus dans les versions "récentes" de DSM (en tout cas au moins depuis la 4.2, voire la 4.0).

Lien vers le commentaire
Partager sur d’autres sites

@Bud.

J'ai vu ton script dans l'article #30 du topic que tu cites.

Je vais essayer de m'en inspirer pour l'adapter à mon problème.

Dans le courant de la semaine à venir ... J'ai assez geeké cette semaine, ca sent le divorce ... :wub:

@Oooops!

Le célèbre Korben a écrit la dessus

http://korben.info/lancer-programme-tache-de-fond-synology.html pour screen

Lien vers le commentaire
Partager sur d’autres sites

J'ai récupéré le script proposé par Tom sur son site pour lancer Ubooquity avec un start/stop.

Il utilise nohup avec & pour le lancer. Et supprime à chaque lancement le fichier nohup.out qui peut devenir assez gros à la longue, vu que je n'arrête quasi jamais mon syno.

je l'ai adapté à minima avec mon propre chemin.

Le lancement manuel me renvoie un "not found" qui je pense est lié à l'utilisation de pgrep à la place de grep.

pgrep n'étant pas géré par bash.

Je suppose qu'il ne suffit pas de le remplacer simplement par grep ?

#!/bin/bash
UBOOQUITY_PORT=2202
# Uncomment the following line to allocate more memory to Ubooquity
#$MEM_OPT=-Xmx512m
case "$1" in
start)
count=`pgrep -fc Ubooquity.jar`
if [ "$count" -gt "0" ];
then
echo Ubooquity is already running;
else
rm nohup.out
nohup java -jar $MEM_OPT /volume1/web/Ubooquity.jar -port $UBOOQUITY_PORT -webadmin 2>&1 &
echo Ubooquity has been started;
fi
;;
stop)
count=`pgrep -fc Ubooquity.jar`
if [ "$count" -gt "0" ];
then
echo stopping Ubooquity...
pkill -f "Ubooquity.jar"
echo Waiting 10 seconds before checking the server stopped...;
sleep 10
count=`pgrep -fc Ubooquity.jar`
if [ "$count" -gt "0" ];
then
echo Failed to stop Ubooquity: you can either wait a few more seconds or kill it manually;
else
echo Ubooquity has been stopped;
fi
else
echo Ubooquity is NOT running, no need to stop it;
fi
;;
status)
count=`pgrep -fc Ubooquity.jar`
if [ "$count" -gt "0" ];
then
echo Ubooquity is RUNNING;
else
echo Ubooquity is NOT running;
fi
;;
*)
echo $"Usage: $0 {start|stop|status}"
exit 1
esac
Lien vers le commentaire
Partager sur d’autres sites

Quelques petites remarques :

Il faut préciser le chemin absolu de l'exécutable "java" (que tu trouveras via "which java")

Tu peux créer une variable JAVA_BIN=/chemin/vers/java et remplacer les occurences du script

"pgrep" n'existe pas sur syno, il faudra le remplacer la ligne par "ps www|grep Ubooquity.jar"

Dans la ligne "nohup java -jar $MEM_OPT /volume1/web/Ubooquity.jar -port $UBOOQUITY_PORT -webadmin 2>&1 &" Tu peux supprimer le $MEMOPT

Il a défini la variable plus haut, mais elle est commenté (c'est la mémoire allouée), donc inutile :)

PS : Y'a des balises "code" pour la mise en forme plus claire :P

Lien vers le commentaire
Partager sur d’autres sites

J'y suis presque :P

J'ai encore une erreur quelque part dans le script : "not found" quand je le lance.

J'ai supprimé également le paramètre -f que grep ne gère pas.

Ma variable JAVA_BIN est bonne.

Avec vi c'est pas pratique ....

Je ne vois pas ce qui pêche ... une idée ?

#!/bin/bash

UBOOQUITY_PORT=2202

JAVA_BIN=/var/packages/JavaManager/target/Java/bin/java

# Uncomment the following line to allocate more memory to Ubooquity

#$MEM_OPT=-Xmx512m

case "$1" in

start)

count=`ps www|grep -c Ubooquity.jar`

if [ "$count" -gt "0" ];

then

echo Ubooquity is already running;

else

rm nohup.out

nohup $JAVA_BIN -jar /volume1/web/Ubooquity.jar -port $UBOOQUITY_PORT -webadmin 2>&1 &

echo Ubooquity has been started;

fi

;;

stop)

count=`ps www|grep -c Ubooquity.jar`

if [ "$count" -gt "0" ];

then

echo stopping Ubooquity...

pkill -f "Ubooquity.jar"

echo Waiting 10 seconds before checking the server stopped...;

sleep 10

count=`ps www|grep -c Ubooquity.jar`

if [ "$count" -gt "0" ];

then

echo Failed to stop Ubooquity: you can either wait a few more seconds or kill it manually;

else

echo Ubooquity has been stopped;

fi

else

echo Ubooquity is NOT running, no need to stop it;

fi

;;

status)

count=`ps www|grep -c Ubooquity.jar`

if [ "$count" -gt "0" ];

then

echo Ubooquity is RUNNING;

else

echo Ubooquity is NOT running;

fi

;;

*)

echo $"Usage: $0 {start|stop|status}"

exit 1

Modifié par Zounta
Lien vers le commentaire
Partager sur d’autres sites

La ligne "rm nohup.out" est pas géniale, car il va tenter de le supprimer dans le dossier ou tu es

Si tu le lances depuis un ssh en root, il sera dans le dossier où tu te trouves

Si tu le lances en auto il sera dans le dossier /root (enfin, suis même pas sur)

Je te conseillerais de supprimer la ligne, et de faire une purge "manuelle" du fichier lorsque tu sauras où il se dépose en auto (via la commande "echo > nohup.out")

Je pense que c'est sur cette ligne que çà foire

Pour en être sur, avant de lancer le script à la main, tape "set -x" puis lance le script

Ca te donnera les étapes qu'il effectue, et tu verras plus précisément ou il plante

Edit : Le "-c" du grep est à retirer aussi :)

Modifié par bud77
Lien vers le commentaire
Partager sur d’autres sites

J'avais déjà un gros problème de noob sur la 1ére ligne (/bin/bash au lieu de /bin/ash) : C'est corrigé et je pense que c'était la cause du "not found".

Et c'est bon, il se lance sans erreur et continue à tourner même terminal fermé ... YESSS !!! (il n'y a pas de petite victoire) -_-

Mais je vais renoncer à le faire démarrer avec le Syno dans le /usr/syno/etc.default/rc.d parce que il écrit ses fichiers de sauvegarde au format XML et ses fichiers de log à l'intérieur. c'est pas très propre. Mais à l'origine comme me l'a indiqué son concepteur il n'est pas prévu sur les synology. Par contre au niveau de la FAQ sur le site , il y a des howto pour l'installer sur QNAP, THECUS et ASUSTOR.

Vu que le syno tourne H24, je vais placer le script dans le dossier /volumex/web avec les autres serveurs et je démarrerai à la main quand il faudra. Ca m'évitera également de le perdre pendant les mises à jour de firmware où je crois que les scripts qui ne sont pas d'origine sont shootés.

Je suis à priori le seul à faire tourner ce serveur sur un syno (ou du moins à en parler) sur ce forum. c'est dommage, il est vraiment bien pour la gestion de bandes dessinées.

J'ouvrirai donc un topic la dessus dans la rubrique adéquate pour faire un mini howto et encourager le concepteur qui est par ailleurs très sympa.

Merci pour ton aide BUD. je suis un très vieux inscrit sur ce forum, j'étais dans les 10 premiers à l'époque de mon DS106 ...mais je fais partie de la majorité silencieuse en général. Mais je ne suis pas pour autant un as du script. Cet exercice m'aura au moins fait progresser.

Lien vers le commentaire
Partager sur d’autres sites

Tu peux programmer ton script via le planificateur de tache DSM, sans préciser de date ni heure

Tu pourras alors le lancer directement depuis DSM

Et en mettant "cd /volume1/web && /chemin/de/ton/script.sh start" il déposera le nohup et ses fichiers dans le dossier désiré (ici /volume1/web)

Lien vers le commentaire
Partager sur d’autres sites

Les dépôts de fichiers sont maintenant à la bonne place (nohup et les logs).

Pour le planificateur de taches je m'en sers pour supprimer les répertoires @eaDir qui me polluent la vue. Résultats de l'indexation du syno.

Bref ça fonctionne bien et ça fait le job. :rolleyes: Surtout que Ubooquity indexe et jacquette aussi les pdf en plus des cbr et cbz.

Très satisfait

Lien vers le commentaire
Partager sur d’autres sites

Oui, ca vaudrait vraiment le coup. Perso je ne suis pas assez costaud pour le réaliser.

Mais je ne crois pas que ce soit complexe pour un connaisseur.

Pas de dépendance sauf Java - Un seul exécutable sans fichiers annexes - Le script start-stop-status pour le syno est fait.

L'auteur ne dispose pas de Nas, donc il ne peut pas tester. Il faudrait juste prendre contact avec lui pour les détails et son accord.

Lien vers le commentaire
Partager sur d’autres sites

  • 5 mois après...
  • 4 mois après...

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.