Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 02/03/2017, à 15:03

Ki633

[Résolu] Script .sh se lance en crontab mais pas correctement..

Bonjour,

J'ai un petit soucis... Le script se lance parfaitement jusqu'à un certain point...

Le script  :

#!/bin/sh


screen -x minecraft
screen -S minecraft -X stuff 'say Redémarrage dans 1 minute\r\n'
 
sleep 30;
screen -S minecraft -X stuff 'say Redémarrage dans 30 secondes '
sleep 15;
screen -S minecraft -X stuff 'say Redémarrage dans 15 secondes '
sleep 5;
screen -S minecraft -X stuff 'say Redémarrage dans 10 secondes '
sleep 5;
screen -S minecraft -X stuff 'save-all'
screen -S minecraft -X stuff 'say Redémarrage dans 5 secondes '
sleep 1;
screen -S minecraft -X stuff 'say Redémarrage dans 4 secondes '
sleep 1;
screen -S minecraft -X stuff 'say Redémarrage dans 3 secondes '
sleep 1;
screen -S minecraft -X stuff 'say Redémarrage dans 2 secondes '
sleep 1;
screen -S minecraft -X stuff 'say Redémarrage dans 1 seconde '
sleep 1;
screen -S minecraft -X stuff 'say Redémarrage du serveur '
screen -S minecraft -X stuff 'kickall Redémarrage du serveur en cours... '
sleep 2;
screen -S minecraft -X stuff 'stop'
sleep 30;
cd /home/andromede 
./start.sh

Les deux dernières ne s’exécute pas en Crontab par-contre si je lance le script moi même tout fonctionne parfaitement.

Ligne de commande : /home/andromede/restart.sh
En crontab : 01 03 * * * /home/andromede/restart.sh

Je suis sous Débian et je m'adresse à vous car je ne trouve aucun forum débian en français et aussi actif que le vôtre.

Merci pour votre aide smile

Kio'

Dernière modification par Ki633 (Le 03/03/2017, à 01:06)

Hors ligne

#2 Le 02/03/2017, à 15:45

Watael

Re : [Résolu] Script .sh se lance en crontab mais pas correctement..

salut,

je ne trouve aucun forum débian en français et aussi actif que le vôtre.

eh, ben, c'est sympa pour https://www.debian-fr.org !
mais ton problème n'a rien à voir avec Debian en particulier.

vu comme ça, il n'y a pas de raison que ces commandes (qui pourraient n'en faire qu'une : /home/andromede/start.sh) ne soient pas exécutées.
insère un set -x au-dessus, et donne-nous les informations qui te parviendront par mail local.

plutôt qu'un sleep 30, tu pourrais faire une boucle sur le fait que le screen existe encore, toutes les 10 secondes.


<hs>
pour info, le seul qui puisse prétendre être SOUS Debian est Ian Murdock, parce qu'il a été l'instigateur du projet.
maintenant il est six pieds sous terre, mais c'est une autre histoire.
la machine qui exécute Debian, elle, est effectivement sous Debian.
mais toi, t'es sous tes cheveux, et c'est tout.
enfin, s'il t'en reste à force de chercher une solution à ton problème. wink
</hs>

Dernière modification par Watael (Le 02/03/2017, à 18:22)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#3 Le 02/03/2017, à 15:45

erresse

Re : [Résolu] Script .sh se lance en crontab mais pas correctement..

Bonjour,
Et si tu essayais de remplacer les deux dernières lignes de ton script par

sh /home/andromede/start.sh

sans utiliser le "cd" ?


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#4 Le 02/03/2017, à 15:50

credenhill

Re : [Résolu] Script .sh se lance en crontab mais pas correctement..

hello
récupérer des messages d'erreur

01 03 * * * /home/andromede/restart.sh > /tmp/log 2>&1

Hors ligne

#5 Le 02/03/2017, à 15:53

MicP

Re : [Résolu] Script .sh se lance en crontab mais pas correctement..

Bonjour

Bien sûr, tout dépends des commandes (et de leur formulation) qui sont dans /home/andromede/start.sh
Ça serait bien d'en voir le contenu.

Hors ligne

#6 Le 02/03/2017, à 17:20

cqfd93

Re : [Résolu] Script .sh se lance en crontab mais pas correctement..

Modération

Bonjour,

Ki633 a écrit :

Je suis sous Débian et je m'adresse à vous car je ne trouve aucun forum débian en français et aussi actif que le vôtre.

Et pourtant il y a au moins 3 forums Debian (debian-fr, Debian-Facile ou debian-fr.xyz). Pour qu'ils soient très actifs, encore faut-il que les utilisateurs potentiels s'y rendent…

Je déplace cette question dans « Support non officiel pour les autres systèmes d'exploitation ».


cqfd93

Hors ligne

#7 Le 02/03/2017, à 17:27

Ki633

Re : [Résolu] Script .sh se lance en crontab mais pas correctement..

Watael a écrit :

salut,

je ne trouve aucun forum débian en français et aussi actif que le vôtre.

eh, ben, c'est sympa pour https://www.debian-fr.org !
mais ça n'a rien à voir avec Debian en particulier.

vu comme ça, il n'y a pas de raison que ces commandes (qui pourraient n'en faire qu'une : /home/andromede/start.sh) ne soient pas exécutées.
insère un set -x au-dessus, et donne-nous les informations qui te parviendront par mail local.

plutôt qu'un sleep 30, tu pourrais faire une boucle sur le fait que le screen existe encore, toutes les 10 secondes.


<hs>
pour info, le seul qui puisse prétendre être SOUS Debian est Ian Murdock, parce qu'il a été l'instigateur du projet.
maintenant il est six pieds sous terre, mais c'est une autre histoire.
la machine qui exécute Debian, elle, est effectivement sous Debian.
mais toi, t'es sous tes cheveux, et c'est tout.
enfin, s'il t'en reste à force de chercher une solution à ton problème. wink
</hs>

Omg... La politesse ici... Ça vous tuerais d'être moins moqueur à l'avenir ?

Sinon pour quand même répondre et respecter votre temps la commande en une seule ne fonctionne pas... Elle me renvois directement à un screen fermé.

Micp =>  Voici le contenu :

#!/bin/sh

screen -S minecraft java -Xms128M -Xmx3072M -Dfile.encoding=UTF-8 -jar spigot.jar

credenhill   => les erreurs qui m'ont été affiché sont :

/home/andromede/restart.sh: 1: /home/andromede/restart.sh: #!/bin/sh
: not found
/home/andromede/restart.sh: 2: /home/andromede/restart.sh: 
: not found
/home/andromede/restart.sh: 3: /home/andromede/restart.sh: 
: not found
Must be connected to a terminal.
/home/andromede/restart.sh: 6: /home/andromede/restart.sh: 
: not found
/home/andromede/restart.sh: 7: /home/andromede/restart.sh: 
: not found
/home/andromede/restart.sh: 9: /home/andromede/restart.sh: 
: not found
/home/andromede/restart.sh: 11: /home/andromede/restart.sh: 
: not found
/home/andromede/restart.sh: 13: /home/andromede/restart.sh: 
: not found
/home/andromede/restart.sh: 16: /home/andromede/restart.sh: 
: not found
/home/andromede/restart.sh: 18: /home/andromede/restart.sh: 
: not found
/home/andromede/restart.sh: 20: /home/andromede/restart.sh: 
: not found
/home/andromede/restart.sh: 22: /home/andromede/restart.sh: 
: not found
/home/andromede/restart.sh: 24: /home/andromede/restart.sh: 
: not found
/home/andromede/restart.sh: 27: /home/andromede/restart.sh: 
: not found
/home/andromede/restart.sh: 29: /home/andromede/restart.sh: 
: not found
Must be connected to a terminal.

Je débute et je comprends pas grand chose à cela...

erresse => Même réponse qu'à Watael, ça me renvois directement un message "Screen is terminating"

Merci à tous d'avoir pris du temps pour me répondre.

Bien à vous,

Dernière modification par Ki633 (Le 02/03/2017, à 20:40)

Hors ligne

#8 Le 02/03/2017, à 18:37

Watael

Re : [Résolu] Script .sh se lance en crontab mais pas correctement..

<hs>

La politesse ici...

tu préfères que je dise « bonjour », plutôt que « salut » ?

Ça vous tuerais d'être moins moqueur à l'avenir ?

t'as un problème avec tes cheveux ?
« 'tain, le mec il est chauve ! » <- ça, c'est de la moquerie.
je ne me moque pas : j'emploie un ton léger pour une digression qui ne vise qu'à ce que tu ne te fasses plus l'écho d'une expression incorrecte.
</hs>

pour en revenir à ton souci, on dirait que le script (restart) n'est pas lu correctement; ce n'est pas que les deux dernières commandes qui ne sont pas exécutées.
tu l'as écrit sur Windows, ou mac ?

Dernière modification par Watael (Le 02/03/2017, à 18:39)


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#9 Le 02/03/2017, à 18:40

Ki633

Re : [Résolu] Script .sh se lance en crontab mais pas correctement..

Je n'ai pas de soucis avec mes cheveux--" Juste que tu n'a pas à répondre comme ça à des personnes que tu ne connais pas ou peu....

Sur windows.

Dernière modification par Ki633 (Le 02/03/2017, à 18:40)

Hors ligne

#10 Le 02/03/2017, à 18:45

Watael

Re : [Résolu] Script .sh se lance en crontab mais pas correctement..

Juste que tu n'a pas à répondre comme ça à des personnes que tu ne connais pas ou peu....

je ne vois pas du tout ce qu'il y a d'insultant, ou de choquant dans mes propos.
Si t'as un problème avec ce que je dis, fais appel à la modération.

réécris ton script SUR Linux, ou passe-le à fromdos, pour en convertir le format.


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#11 Le 02/03/2017, à 19:29

cqfd93

Re : [Résolu] Script .sh se lance en crontab mais pas correctement..

Modération

Faudrait peut-être se calmer…

À moins que je ne sache pas lire, je n'ai pas vu d'insultes ni même d'impolitesse dans tout ce qui précède, juste un peu d'humour comme on en voit régulièrement sur notre forum.

Et à la demande de Watael dont j'ai reçu le message, je remets le sujet dans Terminal, scripts et ligne de commande.


cqfd93

Hors ligne

#12 Le 02/03/2017, à 19:50

Ki633

Re : [Résolu] Script .sh se lance en crontab mais pas correctement..

Watael a écrit :

réécris ton script SUR Linux, ou passe-le à fromdos, pour en convertir le format.

Et comment je fais  ça ? apt-get install fromdos ? et ensuite ?

Merci

Hors ligne

#13 Le 02/03/2017, à 20:02

Watael

Re : [Résolu] Script .sh se lance en crontab mais pas correctement..

apt-get install tofrodos

ensuite

fromdos tonScript

ça marche tout seul.
pour observer la modification, avant et après, tu fais un

file tonScript

Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#14 Le 02/03/2017, à 20:39

Ki633

Re : [Résolu] Script .sh se lance en crontab mais pas correctement..

Depuis que j'ai fais les manipulations, plus rien ne se lance hmm

log :

/home/andromede/restart.sh: 1: /home/andromede/restart.sh: #!/bin/sh: not found
Must be connected to a terminal.
Must be connected to a terminal.

Merci

Hors ligne

#15 Le 02/03/2017, à 21:01

Watael

Re : [Résolu] Script .sh se lance en crontab mais pas correctement..

#!/bin/sh: not found

?

il n'y aurait de /bin/sh sur ton système ?
que dit readlink -f /bin/sh ?
c'est une machine virtuelle ?

je ferais un RAZ : remise à zéro.

je réécrirais le script sur Debian, tu n'as qu'à faire un copier/coller du code de ton premier message.


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#16 Le 02/03/2017, à 21:19

Ki633

Re : [Résolu] Script .sh se lance en crontab mais pas correctement..

Il dit : :~#  readlink -f /bin/sh
/bin/dash

Est-ce qu'il faudrait que je cange #!/bin/sh en #!/bin/dash ? (la poudre à lessiver...)

Hors ligne

#17 Le 02/03/2017, à 21:26

Watael

Re : [Résolu] Script .sh se lance en crontab mais pas correctement..

non. /bin/sh renvoie bien vers un shell (dash).

que retourne file restart.sh ?
il n'a pas l'air d'avoir été converti.


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#18 Le 02/03/2017, à 21:33

Ki633

Re : [Résolu] Script .sh se lance en crontab mais pas correctement..

:/home/andromede#  file restart.sh
restart.sh: POSIX shell script, UTF-8 Unicode (with BOM) text executable

Merci pour tout le temps que tu me consacre..

Hors ligne

#19 Le 02/03/2017, à 21:51

Watael

Re : [Résolu] Script .sh se lance en crontab mais pas correctement..

ok. en plus d'être dans un format inadapté, le fichier contient aussi un encodage incorrect. sad
cf. BOM
essaye ceci :

iconv -t UTF-8 ./restart.sh >/tmp/restart.sh
mv /tmp/restart.sh ./

j'ai un doute...
il y a d'autres méthodes à base de awk :

awk 'NR==1{sub(/^\xef\xbb\xbf/,"")}1' ./restart.sh > /tmp/restart.sh
mv /tmp/restart.sh ./

Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#20 Le 02/03/2017, à 23:59

Ki633

Re : [Résolu] Script .sh se lance en crontab mais pas correctement..

Ok j'ai trouvé le problème du départ...

Merci à toi d'avoir consacrer tout ce temps en tout cas smile

Le soucis c'est que dans start.sh j'essayais de lancer un screen - S minecraft... C'est donc logique qu'il me renvoi une erreur comme : Must be connected to a terminal.... En changeant le -S en -dms le problème à été résolu.. Puisque là le screen se lance en étant détaché smile
Tout fonctionne parfaitement maintenant smile

Voilou merci smile

Dernière modification par Ki633 (Le 03/03/2017, à 01:08)

Hors ligne

#21 Le 03/03/2017, à 12:21

erresse

Re : [Résolu] Script .sh se lance en crontab mais pas correctement..

Et dire que vous aviez commencé par une polémique stérile pour quelques mots d'humour... roll
Ki633, il eut été dommage que tu parles plus à Watael sur ce coup-là, n'est-il pas ???
big_smile


Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois résolu, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.

Hors ligne

#22 Le 04/03/2017, à 23:53

Ki633

Re : [Résolu] Script .sh se lance en crontab mais pas correctement..

Salut, oui ça aurait été dommage^^

Hors ligne