Le Forum de l'Alliance Francophone

Nouvelles:

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

0 Membres et 1 Invité sur ce sujet

Hors ligne Maeda

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 2470
  •   
Réponse #75 le: 03 June 2017 à 13:44
Salut !

Essai ta commande boinccmd en étant positionné dans le dossier boinc, pour voir si tu as encore l'erreur -155.


Hors ligne Scrat65

  • Boinc'eur Confirmé
  • ***
  • Messages: 320
  •   
    • E-mail
Réponse #76 le: 03 June 2017 à 14:05
Salut !

Essai ta commande boinccmd en étant positionné dans le dossier boinc, pour voir si tu as encore l'erreur -155.
Oui, ça marche en lançant depuis /var/lib/boinc-client/ , par exemple la commande "boinccmd --get_state"

« 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 Scrat65

  • Boinc'eur Confirmé
  • ***
  • Messages: 320
  •   
    • E-mail
Réponse #77 le: 03 June 2017 à 14:06
Et avec http://www.worldcommunitygrid.org/ ?
Non toujours la même erreur "Authorisation 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 #78 le: 03 June 2017 à 14:08
Tu as bien mis dans le script, la variable pour le dossier boinc pour correspondre au chemin du dossier boinc sur ta machine distante ?


Hors ligne Scrat65

  • Boinc'eur Confirmé
  • ***
  • Messages: 320
  •   
    • E-mail
Réponse #79 le: 03 June 2017 à 14:23
Oui, je viens de vérifier.

Lancer une commande boinccmd depuis /var/lib/boinc-client fonctionne quand je fais les opérations suivantes :
1) stopper boinc ("service boinc-client stop")
2) supprime le fichier "gui_rpc_auth.cfg" dans le répertoire /var/lib/boinc-client
3) relancer boinc (service boinc-client start")

J'ai trouvé cette info ici : https://blog.philippklaus.de/2010/12/control-boinc-using-the-cli-boinccmd

Mais le fichier "gui_rpc_auth.cfg" est recréé au redémarrage de la machine... et les commande boinccmd redonne l'erreur 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 #80 le: 03 June 2017 à 14:29
J'ai créé un lien symbolique depuis la racine de mon dossier personnel vers le gui du dossier de boinc :
gui_rpc_auth.cfg -> /var/lib/boinc/gui_rpc_auth.cfg


Hors ligne Scrat65

  • Boinc'eur Confirmé
  • ***
  • Messages: 320
  •   
    • E-mail
Réponse #81 le: 03 June 2017 à 14:54
Je pense que j'ai un problème avec les deux fichiers "gui_rpc_auth.cfg" et "remote_hosts.cfg" comme expliqué ici : http://boinc.berkeley.edu/wiki/Controlling_BOINC_remotely]]http://boinc.berkeley.edu/wiki/Controlling_BOINC_remotely dans la rubrique "Access control for GUI RPC".

Mais je mélange quand je dois intervenir sur ces deux fichiers du coté de mon portable (client ?) et/ou du coté de ma machine distante (serveur ?)

« 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 Scrat65

  • Boinc'eur Confirmé
  • ***
  • Messages: 320
  •   
    • E-mail
Réponse #82 le: 04 June 2017 à 17:15
Bonjour,
A force de bidouiller, j'ai décidé de réinstaller boinc sur ma machine distante.

1) J'ai rencontré les problèmes suivants :
- le service boinc-client ne se lançait pas au démarrage de ma ma machine [Résolu]
- impossible de me rattacher à SAM en ligne de commande [Résolu]

2) Sur ma machine distante, j'ai mis :
- <mot_de_passe> dans /var/lib/boinc-client/gui_rpc_auth.cfg
- <nom_de_mon-portable> et <son_IP_fixe> dans /var/lib/boinc-client/remote_hosts.cfg

3) Sur ma machine distante, j'ai mis :
a) <nom_de_ma_machine_distante> dans /etc/hostname
b) dans /etc/hosts les lignes suivantes :
127.0.0.1 localhost
127.0.1.1 <nom_de_ma_machine_distante>
<IP_fxe _mon_portable> <nom_de_mon_portable>
c) <nom_de_mon portable> et <IP_fxe _mon_portable> dans /etc/boinc-client/remote_hosts.cfg
d) <mot_de_passe> dans /etc/boinc-client/gui_rpc_auth.cfg

4) Sur mon portable, j'ai mis :
a) <nom_de_mon_portable> dans /etc/hostname
b) dans /etc/hosts les lignes suivantes :
127.0.0.1 localhost
127.0.1.1 <nom_de_mon_portable>
<IP_fxe _machine_distante> <nom_de_ma_machine_distante>
c) <nom_de_ma_machine_distante> dans /etc/boinc-client/remote_hosts.cfg
d) il y a bien un fichier "gui_rpc_auth.cfg" dans /etc/boinc-client/ qui appartient à root et est vide...

5) En local sur ma machine distante, boinc fonctionne avec l'interface boinctui mais je n'arrive pas à passer des commande de contrôle avec boinccmd sur les projets et les tâches ; par exemple, depuis /var/lib/boinc-client/, la commande
Citer
boinccmd --host localhost --passwd <mot_de_passe> --project http://worldcommunitygrid.org/ suspend
me renvoie toujours : Missing command line argumentC'est d'autant plus étrange que la documentation de boinc indique : "If you run boinccmd in the same directory as the BOINC client, you don't need to supply either a host name or a password. "

Par contre, les commandes d"état , par exemple  "boinccmd--get_state" fonctionne très bien.
En outre, je peux suspendre projets et taches depuis boinctui

6) À noter, je n'ai pas de "gui_rpc_auth.cfg" à la racine de mon dossier personnel sur ma machine distante alors que j'en ai un sur mon portable qui contient une longue série de chiffres.

7) Depuis mon portable, la commande : ssh -f login@machine_distante 'sh -c "( (nohup ~/boinc/suspend_calc_dev http://wuprop.boinc-af.org/ 2>&1 >output.file) )"' lance bien le script suspend_calc ; htop le montre sur la machine distante. J'attends pour voir si effectivement les UT sont réellement bien suspendues...
Edit : ça marche pas !  :cry:
 
8) Je peux accéder au client boinc de ma machine distante depuis mon portable avec le Boinc Manager (Menu Fichier > Sélectionner un ordinateur ; puis en remplissant le champs "Nom d'hôte" et "Mot de passe")


Merci de m'avoir lu jusqu'au bout et de supporter toutes mes questions depuis tout ce temps... :jap:

 
« Modifié: 04 June 2017 à 21:26 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 JeromeC

  • CàA
  • Boinc'eur devant l'éternel
  • *****
  • Messages: 31108
  •   
Réponse #83 le: 04 June 2017 à 19:21
Scrat il meurt pas carbonisé ou atomisé normalement ?

A quoi bon prendre la vie au sérieux, puisque de toute façon nous n’en sortirons pas vivants ? (Alphonse Allais)



Hors ligne Scrat65

  • Boinc'eur Confirmé
  • ***
  • Messages: 320
  •   
    • E-mail
Réponse #84 le: 04 June 2017 à 19:27
Non il ne meurt jamais ; toujours à courir après son gland !  :pt1cable:

« 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 JeromeC

  • CàA
  • Boinc'eur devant l'éternel
  • *****
  • Messages: 31108
  •   
Réponse #85 le: 04 June 2017 à 19:32
Faut clairement pas lui mettre un PC entre les pattes :D

A quoi bon prendre la vie au sérieux, puisque de toute façon nous n’en sortirons pas vivants ? (Alphonse Allais)



Hors ligne Maeda

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 2470
  •   
Réponse #86 le: 05 June 2017 à 11:04
Tu creuses pour le trouver ton gland, tu vas y arriver :pt1cable: !
Il faut se pencher sur le fait de savoir pourquoi, en local sur ta machine distante, boinccmd ne fonctionne pas pour suspendre, etc. But premier du script suspend_calc.

Tu es sûr que l'URL du projet worldcommunitygrid sans les www fonctionne bien ?


Hors ligne Scrat65

  • Boinc'eur Confirmé
  • ***
  • Messages: 320
  •   
    • E-mail
Réponse #87 le: 05 June 2017 à 14:09
Merci pour l'encouragement  :cpopossib:

Par exemple boinccmd  --project http://www.worldcommunitygrid.org/ suspendrenvoie toujours la même chose :
Missing command line argument

usage: boinccmd [--host hostname] [--passwd passwd] [--unix_domain] command

default hostname: localhost
default password: contents of gui_rpc_auth.cfg
Commands:.....toute une liste de commandes possibles...

Je comprends pour boincmd ; il va falloir que j’aille creuser un peu plus la syntace des commandes. Mais bizarrement boinctui, en local sur cette fichue machine distante, me permet de suspendre un projet...

« Modifié: 05 June 2017 à 14:15 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 Scrat65

  • Boinc'eur Confirmé
  • ***
  • Messages: 320
  •   
    • E-mail
Réponse #88 le: 10 June 2017 à 12:45
Bonjour,
Quelques nouvelles après réinstallation complète de boinc sur ma machine distante :
1) En local : suspend_calc_dev et résume_calc_dev fonctionnent.
2) Toujours en local, je peux suspendre (et reprendre) des UT à l'aide de boinccmd /var/lib/boinc-client$ boinccmd --task http://setiathome.berkeley.edu/ <task_name> suspend C'est la bonne nouvelle...
3) Depuis mon portable, la commande en ssh avec nohup login@mon_portable ~ $ ssh -f login@IP_machine_distante 'sh -c "( (nohup ~/boinc/suspend_calc_dev http///setiathome.berkeley.edu/ 2>&1 >output.file) )"' lance bien le script sur la machine distante mais aucune UT n'est suspendues...

« 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 #89 le: 10 June 2017 à 12:55
Cool, ça avance :)
Par contre, est-ce une erreur de copier/coller ? Ton URL est en http/// au lieu de http:// ?


Hors ligne Scrat65

  • Boinc'eur Confirmé
  • ***
  • Messages: 320
  •   
    • E-mail
Réponse #90 le: 10 June 2017 à 16:51
1) Argh ! La ligne de commande, ton univers impitoyable mais si génial. C'est corrigé et ...ça marche !  :bipbip:
Donc la commande pour lancer le script sur la machine distante depuis la machine de commande est : login@machine_de_commande ~ $ ssh -f login@IP_machine_distante 'sh -c "( (nohup /chemin/vers/script/suspend_calc_dev URL_projet 2>&1 >output.file) )"'
2) Pour le lancement de resume_calc_dev avec la même syntaxe,  le script ne démarre pas et le terminal de la machine de commande renvoie de façon continue : /home/login/boinc/resume_calc_dev: ligne 19 : [: = : opérateur unaire attendu

Encore merci pour tes encouragements et ton aide

« 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 #91 le: 10 June 2017 à 18:01
Bonnes nouvelles en effet !

Pour resume_calc, je n'avais pas encore fait la modification, c'était que sur suspend_calc.
Mais...
Bonne nouvelle ! Reprend le resume_calc en dev, tu peux le faire maintenant :

resume_calc urlprojet "date"Guillements indispensables.
date = par ex : "12/13/2017 02:00"
N'importe quel format reconnu par la commande date en fait.


Hors ligne Scrat65

  • Boinc'eur Confirmé
  • ***
  • Messages: 320
  •   
    • E-mail
Réponse #92 le: 10 June 2017 à 19:07
Merci. Avec la version resume_calc_dev et la commande suivante :
ssh -f login@IP_machine_distante 'sh -c "( (nohup ~/boinc/resume_calc_dev http://setiathome.berkeley.edu/ "10/06/2017 19:05" 2>&1 >output.file) )"', j'ai le retour suivant :
19:05 2>&1 >output.file) ): 1: 19:05 2>&1 >output.file) ): Syntax error: end of file unexpected (expecting ")")
PS : par ailleurs, la possibilité de faire reprendre les calculs immédiatement est bien pratique.
« Modifié: 10 June 2017 à 19:18 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 #93 le: 10 June 2017 à 19:31
Aaah, les guillements dans des guillements, ça commence à faire beaucoup.
Bon du coup, essaie de remplacer les guillements par des simples cotes autour de la date :
ssh -f login@IP_machine_distante 'sh -c "( (nohup ~/boinc/resume_calc_dev http://setiathome.berkeley.edu/ '10/06/2017 19:05' 2>&1 >output.file) )"'P.S. : vérifie bien pour la date, que ça te sorte pas le 06 octobre :p. Tu peux faire (en étant sur ton pc distant) un :
date -d "10/06/2017 19:05"Pour être sûr de la date sur le pc distant.
« Modifié: 10 June 2017 à 19:33 par Maeda »



Hors ligne Scrat65

  • Boinc'eur Confirmé
  • ***
  • Messages: 320
  •   
    • E-mail
Réponse #94 le: 10 June 2017 à 19:57
Même erreur renvoyée avec les simples cotes  :??: (et un horodatage du type MM/JJ/AAAA HH:MM qui est celui qui est le bon sur la machine distante).
/home/login/boinc/resume_calc_dev: ligne 19 : [: = : opérateur unaire attendu

« 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 #95 le: 10 June 2017 à 20:20
Lance en local sur ta machine distante, avec les deux arguments, dont la date entre cotes.
Tu devrais voir les deux premières lignes qui sortiront, le script te donne les arguments qu'il réceptionne.


Hors ligne Scrat65

  • Boinc'eur Confirmé
  • ***
  • Messages: 320
  •   
    • E-mail
Réponse #96 le: 10 June 2017 à 21:32
En local sur la machine distante : ./resume_calc_dev http://setiathome.berkeley.edu/ '06/10/2017 21:25' me renvoie
- le choix du projet cible => j'entre le numéro correspondant à seti
- puis la demande d'heure exacte à laquelle reprendre les calculs => j'entre Entrée (pour action immédiate)
- puis demande confirmation => OK
- puis indication : "Script suspend_calc détecté" et "Entrer le nombre correspondant pour tuer le processus à l'heure définie taper ENTREE pour ne rien tuer et continuer)" MAIS aucun numéro de PID n'est indiqué... => je tape Entrée et ... j'ai la liste des UT qui sont reprises.... indication de "fin du script" et retour au prompt.

Problème 1 : dans htop de la machine distante, le script suspend_calc_dev n'est pas tué...
Problème 2 : dans le journal des événements de boinctui, les tâches sont listées d'abord comme "resumed by user" puis comme "suspended by user"
« Modifié: 10 June 2017 à 21:38 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 #97 le: 10 June 2017 à 21:39
Dès que tu le lances, s'il te pose déjà la question du choix du projet => soit l'URL, soit la date (sûrement la date) pose problème.
Je viens de réessayer chez moi, il me prend bien la date avec les cotes.

1) Par contre, remonte dans ta console, pour lire les deux lignes sous la ligne de commande, pour voir si le script te réaffiche tes deux arguments.

2) Tu peux essayer la même chose sur ton pc en local ?


Hors ligne Scrat65

  • Boinc'eur Confirmé
  • ***
  • Messages: 320
  •   
    • E-mail
Réponse #98 le: 10 June 2017 à 21:46
1) Par contre, remonte dans ta console, pour lire les deux lignes sous la ligne de commande, pour voir si le script te réaffiche tes deux arguments.
Non. Juste après la ligne de commande, le terminal affiche : > Choix du projet cible < avec la liste des projets
2) Tu peux essayer la même chose sur ton pc en local ?
Il faut que j'installe la version dev et que je lance le projet seti et que je reçoive des UT. Une seule UT reçue : temps de calcul estimé : plus de 4h donc à demain si vous le voulez bien !  :hello:
En tout cas sur mon portable, le sript resume_calc_dev semble bien fonctionner comme chez toi : login@portable ~/Programmes $ ./resume_calc_dev http://setiathome.berkeley.edu/ '06/11/2017 10:00' renvoie bien :
http://setiathome.berkeley.edu/
06/11/2017 10:00
OK
samedi 10 juin 2017, 22:02:58 (UTC+0200) => Attente de : 43022 secondes
« Modifié: 10 June 2017 à 22:05 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 #99 le: 10 June 2017 à 23:53
C'est bon signe si au moins ça fonctionne en local. Il faut se pencher sur ce pc distant (encore :p).
Normalement, si tu quittes tout de suite (sur ton pc distant), en répondant "0" lors du choix du projet, tu dois voir en remontant la ligne tout de suite sous ta ligne de commande, les deux valeurs des arguments.

Par exemple :
./resume_calc http://monsupersite.fr '06/10/2017 23:52'
http://monsupersite.fr
06/10/2017 23:52
OK
sam. juin 10 23:50:49 CEST 2017 => Attente de : 71 secondes