Forum debian-fr.org

Rechercher:

* Connexion   * M’enregistrer

* FAQ    * Rechercher





Poster un nouveau sujet Répondre au sujet  [ 4 messages ] 
Auteur Message
MessagePosté: 21 Fév 2012 19:00 
Hors ligne
Nouvel utilisateur

Inscription: 21 Fév 2012 18:31
Messages: 6
Bonjour à tous,

Mon problème est le suivant:
Je suis en train de me créer un panel de gestion pour serveur minecraft en php gràce à libssh2 et ssh2 pour debian squeeze 64 bits. J'ai presque fini mais un problème m'empêche d'avancer.

En effet, afin de gèrer le start/stop/reboot des serveurs, je me suis créer des script.sh que j'exécute à l'aide de la fonction ssh2_exec. Afin de les placer dans le répertoire "/home/minecraft/base/" d'où ils seront exécuté j'envoie les commandes suivantes avec ssh2_exec:

Code:
mkdir /home/minecraft/
mkdir /home/minecraft/base/
cp /var/www/games/Minecraft/minecraft_server.jar /home/minecraft/base/
cp /var/www/games/Minecraft/craftbukkit.jar /home/minecraft/base/   
cp /var/www/games/Minecraft/sh/* /home/minecraft/base/

chmod 775 /home/minecraft/base   
chmod 775 /home/minecraft/base/MinecraftStart.sh
chmod 775 /home/minecraft/base/MinecraftStop.sh
chmod 775 /home/minecraft/base/MinecraftReboot.sh
chmod 775 /home/minecraft/base/CraftbukkitStart.sh
chmod 775 /home/minecraft/base/CraftbukkitReboot.sh


Je démare ensuite le serveur avec ssh2_exec("sh /home/minecraft/base/MinecraftStart.sh 25565"); // 25565 étant le port du serveur à lancer.

MinecraftStart.sh:

Code:
#!/bin/sh
cd /home/minecraft/$1/minecraft/
sleep 1
screen -dmS Minecraft_$1 java -Xms2048M -Xmx2048M -jar /home/minecraft/base/minecraft_server.jar nogui
sleep 1
screen -ls
echo "\033[1;32mServer Minecraft_$1 on.\033[0m"


Le serveur ce lance correctement, puis lorsque je suis sur le serveur. Pour le couper j'utilise ssh2_exec("sh /home/minecraft/base/MinecraftStop.sh 25565");

MinecraftStop.sh:
Code:
#!/bin/sh
screen -S Minecraft_$1 -X -p0 eval "stuff 'say The server will be shut down in: 5 seconds'^m"
sleep 1
screen -S Minecraft_$1 -X -p0 eval "stuff 'say The server will be shut down in: 4 seconds'^m"
sleep 1
screen -S Minecraft_$1 -X -p0 eval "stuff 'say The server will be shut down in: 3 seconds'^m"
sleep 1
screen -S Minecraft_$1 -X -p0 eval "stuff 'say The server will be shut down in: 2 seconds'^m"
sleep 1
screen -S Minecraft_$1 -X -p0 eval "stuff 'say The server will be shut down in: 1 seconds'^m"
sleep 1
screen -S Minecraft_$1 -X -p0 eval "stuff 'say The server will be shut down.'^m"
sleep 1
screen -S Minecraft_$1 -X -p0 eval "stuff 'stop'^m"
sleep 1
screen -S Minecraft_$1 -X quit
screen -ls
echo "\033[1;31mServer Minecraft_$1 off.\033[0m"


Le serveur est bien arreter mais les avertissement sont tous envoyer d'un coup sans prendre en compte le sleep 1.

J'ai donc exécuté MinecraftStop.sh depuis mon vps directement et ce message est apparut dans putty:

Code:
/home/minecraft/base# sh MinecraftStop.sh

sleep: intervalle de temps non valide « 1\r »
Saisissez « sleep --help » pour plus d'informations.
sleep: intervalle de temps non valide « 1\r »
Saisissez « sleep --help » pour plus d'informations.
sleep: intervalle de temps non valide « 1\r »
Saisissez « sleep --help » pour plus d'informations.
sleep: intervalle de temps non valide « 1\r »
Saisissez « sleep --help » pour plus d'informations.
sleep: intervalle de temps non valide « 1\r »
Saisissez « sleep --help » pour plus d'informations.
sleep: intervalle de temps non valide « 1\r »
Saisissez « sleep --help » pour plus d'informations.
sleep: intervalle de temps non valide « 1\r »
Saisissez « sleep --help » pour plus d'informations.
There is a screen on:
        3768.Minecraft_25566 (21/02/12 17:33:28)     (Detached)
1 Socket in /var/run/screen/S-root.

Server Minecraft_25565 off.


Sachant que les script fonctionnaient correctement quand je les avaient écrit directement avec editor sur le dédié,
j'ai décidé de tester en copian le contenu de MinecraftStop.sh et en le collant dans: editor test.sh puis exécuté test.sh et la le script refonctionne correctement sleep est bien pris en compte lorsque je suis sur le serveur.

Je ne comprend donc pas d'où peut bien venir ce problème assez gênant et c'est pour cela que je vient solicité votre aide.
Merci d'avance, n'hésitez pas à me poser d'autres questions.

EDIT: je précise que la connexion est effectuée en root pour ces test.


Haut
 Profil  
 
MessagePosté: 21 Fév 2012 19:09 
En ligne
Vraiment, particulièrement bavard(e)!
Avatar de l’utilisateur

Inscription: 18 Mai 2009 16:49
Messages: 2358
Quand tu édites un fichier sous Windows pour l'utiliser sur un système Linux, il faut utiliser un éditeur qui soit capable de générer des fins de ligne Linux/Unix (\n) et non pas Windows (\r\n).
Pour convertir un tel fichier après coup : dos2unix.

_________________
testing/unstable (amd64) sous KDE4
https://github.com/syam44


Haut
 Profil  
 
MessagePosté: 21 Fév 2012 19:13 
Hors ligne
Nouvel utilisateur

Inscription: 21 Fév 2012 18:31
Messages: 6
Maintenant que tu me dit ca c'est bien possible, je n'est pas l'habitude de modifier les fichiers sous windows en effet, d'habitude je les écrit directement dans la console. Je test et je vient dire quoi.
Merci encore.


Haut
 Profil  
 
MessagePosté: 21 Fév 2012 19:34 
Hors ligne
Nouvel utilisateur

Inscription: 21 Fév 2012 18:31
Messages: 6
Ca fonctionne correctement avec Dos2Unix.exe
merci beaucoup syam.


Haut
 Profil  
 
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 4 messages ] 

Index du forum » Forums d'aide » Support Debian


Qui est en ligne

Utilisateurs parcourant ce forum: syam et 0 invités


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Rechercher:
Aller à:  
Flux RSS Flux RSS Liste des flux Liste des flux
Powered by phpBB® Forum Software © phpBB Group
Traduction par: phpBB-fr.com
SEO
[ Time : 0.102s | 12 Queries | GZIP : Off ]