Le Forum de l'Alliance Francophone

Nouvelles:

Auteur Sujet: [Linux] Script pour suspendre / reprendre les UT  (Lu 34902 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Maeda

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 2470
  •   
Réponse #50 le: 06 May 2017 à 16:24
Ah oui, le mien est bien plus lent : GT 750 Ti, d'où mes 11 min (mes UT mettent environ 40min pour se finir). Joue avec ce réglage pour avoir bien toutes tes UT suspendues :).

Si on est que deux à utiliser ce script, je ne changerai pas trop la méthode, une fois comprise c'est OK.


Hors ligne Scrat65

  • Boinc'eur Confirmé
  • ***
  • Messages: 320
  •   
    • E-mail
Réponse #51 le: 06 May 2017 à 18:38
Cottesloe, un autre Libriste, semble aussi utiliser tes scripts.
Et, à ma connaissance, ils sont le seul moyen en ligne de commande pour faire des lâchers. Je les utilise dans un terminal à fenêtres multiples (Terminator : https://gnometerminator.blogspot.fr/p/introduction.html?view=classic) avec boinctui pour visualiser l'activité des différents projets ; c'est sobre et on comprend ce que l'on fait ainsi que les conséquences de ce que l'on fait.
Donc je te remercie vivement car je trouve tes scripts indispensables et t'encourage vivement à les maintenir et le cas échéant les améliorer.  :oki:  :jap:

PS#1 : il y a un topic récent du 22 avril d'un autre Libriste, intitulé  "[Windows] Un script batch pour reprendre les tâches suspendues"  (https://forum.boinc-af.org/index.php/topic,7514.0.html)...

PS#2 : Petite question sans rapport direct avec tes scripts. Je calcule sur une vielle station de travail sur Ubuntu Serveur sans interface graphique que je pilote depuis mon portable sur lequel j'établis en ligne de commande une connexion ssh et lance ainsi tes scripts. Cependant, lorsque j'éteins mon portable, la connexion ssh et donc les scripts en cours sont fermés ; très embêtant pour le script suspend_cal...Y-a-t-il une solution pour lancer directement sur ma station de travail les scripts ?

« Modifié: 06 May 2017 à 18:43 par Scrat65 »

« Nous sommes des nains juchés sur les épaules de géants ; nous voyons plus qu'eux, et plus loin ; non que notre regard soit perçant, ni élevée notre taille, mais nous sommes élevés, exhaussés, par leur stature gigantesque » Bernard de Chartres (XIIe siècle)


Hors ligne Maeda

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 2470
  •   
Réponse #52 le: 07 May 2017 à 10:24
Salut !
OK je note tout ça :) et te remercie pour ton soutien.

Pour ton portable, je pense qu'il faut lancer ssh plutôt comme ça :
ssh pc_distanct 'bash -c "ma_commande"'/!\ : note la quote à la fin après le guillement


Hors ligne Maeda

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 2470
  •   
Réponse #53 le: 07 May 2017 à 13:39
J'avais quelques minutes de libre, j'ai codé un nouveau système pour le suspend_calc.
Il est dans la partie dev de mon Github, pour qui veut tester.

Il se base sur un fichier de conf, bien plus pratique !
Lancer juste le script, il s'occupe de tout :coffeetime:.

/!\ mettez bien l'url master complète du projet que boinc a, pour ajouter dans le fichier de conf.

Edit : j'ai légèrement modifié le resume_calc pour qu'on voit mieux le PID des suspend_calc. Si quelqu'un veut tester : voir resume_calc dans la branche dev.
« Modifié: 08 May 2017 à 15:42 par Maeda »



Hors ligne Scrat65

  • Boinc'eur Confirmé
  • ***
  • Messages: 320
  •   
    • E-mail
Réponse #54 le: 13 May 2017 à 16:06
Une réponse tardive ; je n'ai pu tester la nouvelle version qu'aujourd'hui.
Après un premier test, la version "dev" de suspend_calc fonctionne parfaitement et crée lors du premier lancement le fichier de configuration qui est bien pratique à compéter. Donc que du bonheur  :jap:
Citer
Edit : j'ai légèrement modifié le resume_calc pour qu'on voit mieux le PID des suspend_calc.
L'indication des PID en cours me semble moins claire sur la version "dev" ; en effet cette version indique une ligne du type :
2230 pts/0    S+     0:03 /bin/bash ./suspend_calc_NEWmoins lisible que la version "d'origine" ("pts/0" ?, "S+" ?) qui indique de façon bien utile la date et l'heure du lancement du script suspend_calc :
2230 suspend_calc_NEW Sat May 13 13:21:34 2017

En tout cas encore bravo et merci pour ton travail  :hello:
« Modifié: 14 May 2017 à 21:29 par Scrat65 »

« Nous sommes des nains juchés sur les épaules de géants ; nous voyons plus qu'eux, et plus loin ; non que notre regard soit perçant, ni élevée notre taille, mais nous sommes élevés, exhaussés, par leur stature gigantesque » Bernard de Chartres (XIIe siècle)


Hors ligne Maeda

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 2470
  •   
Réponse #55 le: 16 May 2017 à 16:45
Le gros avantage que j'ai trouvé, c'est qu'on voit l'argument, par exemple si tu as lancé un suspend_calc  1erprojet... tu vois apparaître l'argument, donc tu identifies clairement le projet de ce suspend_calc.


Hors ligne Scrat65

  • Boinc'eur Confirmé
  • ***
  • Messages: 320
  •   
    • E-mail
Réponse #56 le: 22 May 2017 à 22:15
Effectivement, la solution de lancer le script "suspend_calc"avec comme argument le nom du projet concerné est très pratique lorsque l'on passe ensuite au script "resume_calc .

Par ailleurs, je me permets de revenir sur mon problème de lancer le script "suspend_calc" sur une machine distante depuis mon portable sans avoir à laisser le portable allumé tout le temps pour que la commande lancée en ssh depuis mon portable reste opérationelle.
Pour ton portable, je pense qu'il faut lancer ssh plutôt comme ça :
ssh pc_distanct 'bash -c "ma_commande"'/!\ : note la quote à la fin après le guillement

Cette ligne de commande, après m'avoir demander mon mot de passe, me renvoie
> Choix du projet cible <
Authorization failure: -155
> Entrer le choix voulu par le nombre correspondant < (0=quitter)
puis plus rien...  :??:
Peut-être que l'indication "Authorization failure: -155" est une piste ?

« Nous sommes des nains juchés sur les épaules de géants ; nous voyons plus qu'eux, et plus loin ; non que notre regard soit perçant, ni élevée notre taille, mais nous sommes élevés, exhaussés, par leur stature gigantesque » Bernard de Chartres (XIIe siècle)


Hors ligne Maeda

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 2470
  •   
Réponse #57 le: 25 May 2017 à 19:41
Tu es sûr que le suspend_calc sur ton pc distant a bien la variable boincdos de paramétrer (d'ailleurs je pourrais mettre cette info dans le fichier de conf) ?


Hors ligne Scrat65

  • Boinc'eur Confirmé
  • ***
  • Messages: 320
  •   
    • E-mail
Réponse #58 le: 25 May 2017 à 22:10
Merci de ta réponse.
Oui, j'ai le bon chemin sur mon PC distant ("/var/lib/boinc-client").

Par ailleurs, je viens de découvrir la commande "nohup" mais elle ne permet pas d'"interagir" avec le script pour sélectionner le projet voulu (pas possible au script d'afficher les questions et les réponses sur les  projets concernés). Un commentaire sur la page http://standartux.fr/detacher-une-commande-a-laide-de-nohup/ parle de ce problème mais la solution proposée du type
ssh -f mon_login@machine_distante 'sh -c "( (nohup ~/boinc/suspend_calc 2>&1 >output.file
ne marche pas chez moi  :??:

« Nous sommes des nains juchés sur les épaules de géants ; nous voyons plus qu'eux, et plus loin ; non que notre regard soit perçant, ni élevée notre taille, mais nous sommes élevés, exhaussés, par leur stature gigantesque » Bernard de Chartres (XIIe siècle)


Hors ligne Maeda

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 2470
  •   
Réponse #59 le: 26 May 2017 à 01:07
Dans ce cas, il faudrait que je fasse en sorte que s'il y a un argument qui commence par http, il ne pose aucune question, par exemple :
ssh -f mon_login@machine_distante 'sh -c "( (nohup ~/boinc/suspend_calc WCG http://www.worldcommunitygrid.org/ 2>&1 >output.fileWCG pour visuellement voir lors d'un resume_calc et le http pour l'URL du projet.

-> Option ajoutée, teste le suspend_calc en dev. Tu peux mettre l'URL où tu veux dans les arguments


Hors ligne Scrat65

  • Boinc'eur Confirmé
  • ***
  • Messages: 320
  •   
    • E-mail
Réponse #60 le: 26 May 2017 à 10:18
1. Depuis mon portable, la commande mon_login@portable ~ $ ssh -f mon_login@machine_distante 'sh -c "( (nohup ~/boinc/suspend_calc WCG http://www.worldcommunitygrid.org/ 2>&1 >output.file ne marche pas ; pas de processus dans htop pour la machine distante et seulement > en retour de la commande.

2. Depuis mon portable, une fois connecté en ssh sur la machine distante, le suspend_calc en dev avec l'URL du projet marche bien ; le processus apparaît bien dans le htop de la machine distante et la commande renvoiemon_login@machine_distante:~/boinc$ ./suspend_calc_dev http://www.worldcommunitygrid.org/
Pas de préférences trouvées : limite mise à 60
En cours de surveillance... limite temps restant = 60
Le problème est toujours qu'une fois le terminal fermé (et a fortiori mon portable éteint), le script est aussi arrêté sur la machine distante.

« Nous sommes des nains juchés sur les épaules de géants ; nous voyons plus qu'eux, et plus loin ; non que notre regard soit perçant, ni élevée notre taille, mais nous sommes élevés, exhaussés, par leur stature gigantesque » Bernard de Chartres (XIIe siècle)


Hors ligne Maeda

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 2470
  •   
Réponse #61 le: 26 May 2017 à 10:30
Dans ce cas, rajoute simplement un & en bout de ligne.


Hors ligne Scrat65

  • Boinc'eur Confirmé
  • ***
  • Messages: 320
  •   
    • E-mail
Réponse #62 le: 26 May 2017 à 12:02
Toujours pas  :(
La commande, depuis mon portable, du type : mon_login@machine_client ~ $ ssh -f mon_login@machine_serveur 'sh -c "( (nohup chemin/vers/répertoire/du/script/suspend_calc nom_projet URL_complète_projet 2>&1 >output.file & ne lance pas le script sur ma machine distante (pas de trace dans htop de la machine distante).  :(

« Nous sommes des nains juchés sur les épaules de géants ; nous voyons plus qu'eux, et plus loin ; non que notre regard soit perçant, ni élevée notre taille, mais nous sommes élevés, exhaussés, par leur stature gigantesque » Bernard de Chartres (XIIe siècle)


Hors ligne Maeda

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 2470
  •   
Réponse #63 le: 26 May 2017 à 16:00
Tu es sûr de la syntaxe, je ne vois pas les parenthèses se refermer ?
Peux-tu essayer avec un process basique pour vérifier si au moins la commande fonctionne bien ?
 :jap:


Hors ligne Scrat65

  • Boinc'eur Confirmé
  • ***
  • Messages: 320
  •   
    • E-mail
Réponse #64 le: 26 May 2017 à 16:32
J'ai repris la structure de la commande indiqué en fin de la page suivante : http://standartux.fr/detacher-une-commande-a-laide-de-nohup/et par exemple un ssh -f mon_login@machine_serveur 'sh -c "( (nohup cp ~/boinc/suspend_calc_dev copie_suspend_calc_dev 2>&1 >output.file & ou un ssh -f mon_login@machine_serveur 'sh -c "( (nohup cp ~/boinc/suspend_calc_dev copie_suspend_calc_dev 2>&1 >output.file) ) & ne donnent rien... :??:

« Nous sommes des nains juchés sur les épaules de géants ; nous voyons plus qu'eux, et plus loin ; non que notre regard soit perçant, ni élevée notre taille, mais nous sommes élevés, exhaussés, par leur stature gigantesque » Bernard de Chartres (XIIe siècle)


Hors ligne Maeda

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 2470
  •   
Réponse #65 le: 26 May 2017 à 19:55
Ah ! Du coup ça vient de ta commande alors.

Il manque la cote qui ferme, non ?


Hors ligne Scrat65

  • Boinc'eur Confirmé
  • ***
  • Messages: 320
  •   
    • E-mail
Réponse #66 le: 26 May 2017 à 21:42
En rajoutant la cote, aux deux commandes de mon précédent message cela me renvoie dans les deux cas :
bash: -c: ligne 0: caractère de fin de fichier (EOF) prématuré lors de la recherche du « " » correspondant
bash: -c: ligne 1: erreur de syntaxe : fin de fichier prématuré

« Nous sommes des nains juchés sur les épaules de géants ; nous voyons plus qu'eux, et plus loin ; non que notre regard soit perçant, ni élevée notre taille, mais nous sommes élevés, exhaussés, par leur stature gigantesque » Bernard de Chartres (XIIe siècle)


Hors ligne Maeda

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 2470
  •   
Réponse #67 le: 27 May 2017 à 00:41
Je viens de faire un test sur ma machine, ça fonctionne bien, mais il faut fermer les guillemets et la cote.
ssh -f mon_login@machine_serveur 'sh -c "( (nohup cp ~/boinc/suspend_calc_dev copie_suspend_calc_dev 2>&1 >output.file) )"'


Hors ligne Scrat65

  • Boinc'eur Confirmé
  • ***
  • Messages: 320
  •   
    • E-mail
Réponse #68 le: 27 May 2017 à 08:55
Je ne comprends pas. Chez moi la commande n'a aucun effet. Un "dir -l" du répertoire ~/boinc sur la machine distante me donne toujours le même contenu sans avoir créé le fichier "copie_suspend_calc_dev"  :??:

Par ailleurs, la commande : ssh -f mon_login@machine_serveur 'sh -c "( (nohup ~/boinc/suspend_calc_dev 2>&1 >output.file) )"'
me renvoie de façon ininterrompue :
/home/"mon_login"/boinc/suspend_calc_dev: ligne 49 : [: = : opérateur unaire attendu
Authorization failure: -155

« Nous sommes des nains juchés sur les épaules de géants ; nous voyons plus qu'eux, et plus loin ; non que notre regard soit perçant, ni élevée notre taille, mais nous sommes élevés, exhaussés, par leur stature gigantesque » Bernard de Chartres (XIIe siècle)


Hors ligne Maeda

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 2470
  •   
Réponse #69 le: 27 May 2017 à 13:48
Crée un fichier test dans /tmp sur ta machine distante.
Ce code fonctionne chez moi :
ssh -f login@machinedistante 'sh -c "( (nohup cp /tmp/test /tmp/test_OK 2>&1 >output.file) )"'Le fichier /tmp/test_OK existe-t-il ?

Il faut qu'on soit sûr que la commande fonctionne pour des opérations de base.


Hors ligne Scrat65

  • Boinc'eur Confirmé
  • ***
  • Messages: 320
  •   
    • E-mail
Réponse #70 le: 27 May 2017 à 16:06
Ça marche ! :hap:
Cela doit être la façon d'écrire la commande nohup de lancement du suspend_cal_dev qui est erronée.

« Nous sommes des nains juchés sur les épaules de géants ; nous voyons plus qu'eux, et plus loin ; non que notre regard soit perçant, ni élevée notre taille, mais nous sommes élevés, exhaussés, par leur stature gigantesque » Bernard de Chartres (XIIe siècle)


Hors ligne Maeda

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 2470
  •   
Réponse #71 le: 27 May 2017 à 17:36
Si tu lance suspend_calc_dev à distance, met une URL, sinon il va vouloir poser des questions  :siflotte:


Hors ligne Scrat65

  • Boinc'eur Confirmé
  • ***
  • Messages: 320
  •   
    • E-mail
Réponse #72 le: 27 May 2017 à 18:03
Des bonnes nouvelles :
1) Depuis mon portable, avec la commande du type :
ssh -f login@machine_distante 'sh -c "( (nohup ~/boinc/suspend_calc_dev http://www.worldcommunitygrid.org/ 2>&1 >output.file) )"'le suspend_calc_dev est bien lancé sur la machine distante ; htop le montre.  :hap:

2) Quand le terminal sur le portable est fermé, le processus continue sur la machine distante  :hap:

3) Étrangement, le terminal sur le portable indique de façon répétitive :
Authorization failure: -155

4) Je vais attendre un peu pour tester le resume_calc

Ça avance  :jap:

Edit dim. 28 mai :
1) htop sur la machine distante indique bien les processus "/bin/bash/home/login/boinc/suspend_calc_dev http://www.worlcommunitygrig.org/" et "sh -c ( (nohup ~/boinc/suspend_calc_dev http://www.worlcommunitygrig.org/ 2>&1 >output.file) )" ;
2) seul le premier semble actif en terme de consommation CPU ;
3) MAIS en revanche aucune UT  n’apparaît comme suspendue depuis hier soir et le journal des événements indique bien que des UT ont été renvoyées ("reporting completed tasks")  :/
« Modifié: 28 May 2017 à 12:13 par Scrat65 »

« Nous sommes des nains juchés sur les épaules de géants ; nous voyons plus qu'eux, et plus loin ; non que notre regard soit perçant, ni élevée notre taille, mais nous sommes élevés, exhaussés, par leur stature gigantesque » Bernard de Chartres (XIIe siècle)


Hors ligne Maeda

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 2470
  •   
Réponse #73 le: 31 May 2017 à 12:30
L'erreur autorisation -155 doit venir de là.

Pour simplifier, peux-tu :
1/ en étant connecté à ta machine distante, essayer simplement de suspendre une UT en utilisant boinccmd ? Déjà savoir si en local ça marche bien.

2/ Si OK, faire de même avec boinccmd mais via ta commande à distance (toujours avec sh -f ... nohup...) ?


Hors ligne Scrat65

  • Boinc'eur Confirmé
  • ***
  • Messages: 320
  •   
    • E-mail
Réponse #74 le: 03 June 2017 à 13:23
Bonjour,

Je me suis connecté directement sur ma machine distante après avoir trouvé un clavier et un écran. C'est une version Ubuntu serveur donc en ligne de commande, pour suspendre le projet WCG, j'ai passé la ligne de commande :boinccmd --passwd mon_mot_de_passe --project http://worldcommunitygrid.org/ suspend Que ce soit avec ou sans sudo j'ai toujours la même réponse : "Authorization failure: -155".
Donc en local, cela ne marche pas  :??:

Edit : en cherchant, je pense qu'il s'agit d'un problème autour du fichier "gui_rpc_auth.cfg"...
« Modifié: 03 June 2017 à 14:01 par Scrat65 »

« Nous sommes des nains juchés sur les épaules de géants ; nous voyons plus qu'eux, et plus loin ; non que notre regard soit perçant, ni élevée notre taille, mais nous sommes élevés, exhaussés, par leur stature gigantesque » Bernard de Chartres (XIIe siècle)