Le Forum de l'Alliance Francophone

Nouvelles:

Auteur Sujet: Script pour forcer la màj boinc  (Lu 63619 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne erdnaxeli

  • Boinc'eur Confirmé
  • ***
  • Messages: 418
  •   
    • 86 231 !
Réponse #50 le: 09 October 2010 à 12:04
Désolé pour le détérrage de topic, mais je viens de faire une version courte du script pour le mettre dans cron :
/usr/bin/boinccmd --get_project_status | grep 'master URL' | sed 's/.*http/http/' | while read line; do /usr/bin/boinccmd --project ${line} update; done

Ça actualisera tous les projets auxqules vous êtes attachés. Pour ceux qui ont installés boinc manuellement, il faut changer les deux occurences de «/usr/bin/» par «/le/dossier/où/boinc/est/installé/» (surement /home/<user>/BOINC/).


jip

  • Invité
Réponse #51 le: 09 October 2010 à 12:47
joli condensé. :jap:

plutôt que de changer les occurrences de chemin, une petite variable de chemin en tête de script pour ne faire qu'une seule modif. non ?

mais le risque de ne pas sélectionner les projets que l'on force, c'est de conduire à un blocage des chargement sur certains projets.

en effet certains admins se protège de cela, en fixant un temps minimum entre 2 interrogation du serveur.

ce qui dans certains cas, provoque des reports à répétition sans jamais rien charger.

mais, bon si on est dans ce acs sur aucun des projets sur lesquels on est, ton script présente l'avantage de la simplicité, vu qu'il n'est pas nécessaire de saisir les url des projets.

donc si tu dépose ton script en archive compressée en fichier joint sur un de tes post, je le rajouterait dans mon 1er post, en script spécifique Linux.
« Modifié: 09 October 2010 à 12:50 par jip »



Hors ligne erdnaxeli

  • Boinc'eur Confirmé
  • ***
  • Messages: 418
  •   
    • 86 231 !
Réponse #52 le: 09 October 2010 à 12:57
Les projets à risque de blocage, ce sont ceux qui envoit un message du genre «last update too recent» non ? Il me semblait que c'était le cas de freehal mais apparement non. Tu n'aurais pas un nom de projet bloquant que je teste ?


jip

  • Invité
Réponse #53 le: 09 October 2010 à 13:45
à une époque on avait milky, mais là je ne sais pas si c'est toujours le cas, car je ne le force plus, tant que ça approvisionne normalement sans ça.

sinon, j'ai modifié ta ligne pour faire sans sed, par substitution.


sur ubuntu, boinccmd est dans : '/var/lib/boinc-client'
ce qui donnerait :
BOINC_BIN_PATH='/var/lib/boinc-client'
${BOINC_BIN_PATH}/boinccmd --get_project_status | grep 'master URL' | while read line; do ${BOINC_BIN_PATH}'/boinccmd' '--project' 'http://'${line#*http://} 'update'; done

à partir de ça, j'ai refait un script complet de maj auto récurent, avec variables, et que j'ai nommé "boinc_force_all_update.sh", compressé en tar.gz, que je peux rajouter en 1er post si tu veux. Ok ?

edit : je me demande aussi, ce que ça peut donner le forçage global de tout quand on un ou des projets de secours. si l'un des projets fait un report, ne risque-t-on pas de charger des ut du projet de secours ?
« Modifié: 09 October 2010 à 13:49 par jip »



Hors ligne erdnaxeli

  • Boinc'eur Confirmé
  • ***
  • Messages: 418
  •   
    • 86 231 !
Réponse #54 le: 09 October 2010 à 13:54
Tu peux le rajouter au premier post, pas de problème. Ce problème du report est quand même ennuyeux, je vais voir ce qu'on peut faire. Si quelu'un a un nom de projet à report qu'il n'hésite pas, c'est mieux pour tester :P.

Sinon, le coup de la substitution dans la variable c'est génial, je ne connaissais pas.


jip

  • Invité
Réponse #55 le: 09 October 2010 à 13:56
C'est fait : http://forum.boinc-af.org/index.php/topic,3240.msg211076.html#msg211076

Tu es cité et le fichier est joint en tar.gz.

j'ai inséré ta ligne dans le reste du script que j'avais déjà fait, avec variables et affichages.

ça te va ?



jip

  • Invité
Réponse #56 le: 09 October 2010 à 13:58
Sinon, le coup de la substitution dans la variable c'est génial, je ne connaissais pas.

tiens, de quoi t'amuser : http://tldp.org/LDP/abs/html/parameter-substitution.html  :D



Hors ligne [AF>Libristes] nico8313

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 8027
  •   
Réponse #57 le: 09 October 2010 à 16:19
hé pas mal !!!   Même super dirais-je    :)

Merci erdnaxeli  :jap:



Hors ligne [AF>Libristes] nico8313

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 8027
  •   
Réponse #58 le: 12 October 2010 à 18:09
cottesloe  :hello:

J'ai une question ?
Ton BOINC est installé par synaptics ???

Je veux dire par la qu'il est dans /var/lib/boinc-client  ??
« Modifié: 12 October 2010 à 18:15 par nico8313 »



jip

  • Invité
Réponse #59 le: 12 October 2010 à 18:53
cottesloe  :hello:

J'ai une question ?
Ton BOINC est installé par synaptics ???

Je veux dire par la qu'il est dans /var/lib/boinc-client  ??

euh ........

tu parle tout seul là ?

je vois pas de post de cottesloe .............  :??: :??: :??: :pt1cable: :pt1cable: :pt1cable: :pt1cable:



Hors ligne [AF>Libristes] cottesloe

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 1300
  •   
Réponse #60 le: 12 October 2010 à 19:18
Si si, je suis là.
En fait on vient de

Ah oui, il faut suivre...  :D


"Je sers la science et c'est ma joie" Disciplus Simplex
Écoutez la meilleure émission radio de la Terre, et rêver l'avenir encore un peu sur La Planète Bleue. www.laplanetebleue.com


jip

  • Invité
Réponse #61 le: 12 October 2010 à 19:25
ah ben si vous faites du cross-topic en plus  :D :D



Hors ligne [AF>Libristes] nico8313

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 8027
  •   
Réponse #62 le: 12 October 2010 à 19:29
c'est pas compliqué pour le script de jip !

Tu crée un dossier que tu nomme de ton choix sur le bureau par exemple boinc_force_update_v3
Dans ce dossier tu crée un fichier avec un éditeur de texte et tu colle ce code dedans et que tu nomme boinc_force_update.sh

#!/bin/sh
#
# script pour forcer la mise à jour de boinc
#
BOINC_BIN_PATH='/var/lib/boinc-client'
BOINC_BIN_CMD='boinccmd'
SLEEP_TIME_SCRIPT_SEC=30

echo 'chemin de boinccmd :', ${BOINC_BIN_PATH}'/'$BOINC_BIN_CMD ', durée entre update : ' $SLEEP_TIME_SCRIPT_SEC
while true
    do
        echo ==========
        date
        echo ----------
        echo Update project
        echo ----------
        cat './boinc_liste_url.txt' | while read line
            do
                SAVE_CURRENT_PATH=${PWD}
                cd ${BOINC_BIN_PATH}
                './'${BOINC_BIN_CMD} '--project' ${line} 'update'
                echo ${line}
                cd ${SAVE_CURRENT_PATH}
            done
        echo ----------
        echo Done
        echo ==========
        sleep $SLEEP_TIME_SCRIPT_SEC
    done

Toujours dans le dossier boinc_force_update_v3   tu crée cette fois-ci un fichier texte que tu nomme boinc_liste_url.txt
dans ce fichier texte tu mets l'URL :
http://boinc.almeregrid.nl/
Donc tu te retrouve avec un dossier avec dedans le fichier boinc_force_update.sh    et le  fichier  boinc_liste_url.txt

pour lancer le script tu double clique sur le fichier SH que tu lance dans un terminal ! 

« Modifié: 12 October 2010 à 21:37 par nico8313 »



jip

  • Invité
Réponse #63 le: 12 October 2010 à 19:40
suffit de faire une extraction de l'archive.

car dedans y'a déjà le .sh et le .txt

pourquoi tu lui fait tout créer à la mano ??????????

car si il fait comme ça, il faut aussi qu'il rende son .sh exécutable .................. sinon .......................... marchera pas ...............



Hors ligne [AF>Libristes] cottesloe

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 1300
  •   
Réponse #64 le: 12 October 2010 à 20:03
Oui, en fait c'était ma question de départ.
Où faire l'extraction?

Bon, là, il cherche le fichier liste.txt... Moi, je sais où il est, mais lui ne sais pas... C'est ballo...


"Je sers la science et c'est ma joie" Disciplus Simplex
Écoutez la meilleure émission radio de la Terre, et rêver l'avenir encore un peu sur La Planète Bleue. www.laplanetebleue.com


Hors ligne link304

  • P'tit Nouveau
  • *
  • Messages: 17
  •   
Réponse #65 le: 12 October 2010 à 20:34
Ce problème du report est quand même ennuyeux, je vais voir ce qu'on peut faire. Si quelu'un a un nom de projet à report qu'il n'hésite pas, c'est mieux pour tester :P.

Bonjour :kookoo:,
Si tu cherche des projet à report,
il y a "The Lattice Project" qui n'aime pas les Update trop rapprochées (<10min).




Hors ligne [AF>Libristes] nico8313

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 8027
  •   
Réponse #66 le: 12 October 2010 à 20:58
suffit de faire une extraction de l'archive.

car dedans y'a déjà le .sh et le .txt

pourquoi tu lui fait tout créer à la mano ??????????

car si il fait comme ça, il faut aussi qu'il rende son .sh exécutable .................. sinon .......................... marchera pas ...............

Avec Ubuntu tu fais un clic droit sur le SH et lancer dans un terminal !!!   ni plus ni moins !  moi je fais comme ça et ça marche !



Hors ligne [AF>Libristes] nico8313

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 8027
  •   
Réponse #67 le: 12 October 2010 à 21:03
cottesloe

Il te faut juste décompresser l'archive sur le bureau par exemple
Mais dans le script il faut désigner /var/lib/boinc-client

Et dans le fichier texte tu mets l'URL des projets que tu désire forcer !  :jap:
Pour démarrer le script tu fais un clic droit sur le fichier .sh  et tu clique sur "Lancer dans un terminal"



« Modifié: 12 October 2010 à 21:16 par nico8313 »



Hors ligne [AF>Libristes] nico8313

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 8027
  •   
Réponse #68 le: 12 October 2010 à 21:09
Ce qui donne ceci




Hors ligne [AF>Libristes] cottesloe

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 1300
  •   
Réponse #69 le: 12 October 2010 à 21:33
On est d'accord. J'ai tout comme toi.
Mais chez moi, ça ne marche pas. il cherche toujours soit boinccmd, soit liste_url.txt...
Il y a juste un détail qui me tracasse.
On doit pointer vers le dossier où se trouve boinccmd, non?
Chez moi il n'est pas sous /var/lib/boinc-client, mais sous /usr/bin.

Et même en changeant le chemin dans le script vers /usr/bin, ça ne marche pas...

Mais bon, ce n'est pas grave, je vais laisser tomber cette manip. Ce n'est pas super important...


"Je sers la science et c'est ma joie" Disciplus Simplex
Écoutez la meilleure émission radio de la Terre, et rêver l'avenir encore un peu sur La Planète Bleue. www.laplanetebleue.com


Hors ligne [AF>Libristes] nico8313

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 8027
  •   
Réponse #70 le: 12 October 2010 à 21:36
oui c'est pour ça que je t'ai décrit le script ici  :D

http://forum.boinc-af.org/index.php/topic,3240.msg251118.html#msg251118



jip

  • Invité
Réponse #71 le: 12 October 2010 à 21:37
Avec Ubuntu tu fais un clic droit sur le SH et lancer dans un terminal !!!   ni plus ni moins !  moi je fais comme ça et ça marche !

parce que ton .sh a la permission d'exécution.

mais quand tu créé un nouveau fichier ce n'est pas le cas.

fait un clic droit puis propriétés, puis permissions, et tu verras qu'il est autorisé à s'exécuter.

mais si tu créé un nouveau document, même nommé en *.sh, il n'a pas la permission d'exécution.



jip

  • Invité
Réponse #72 le: 12 October 2010 à 21:38
On est d'accord. J'ai tout comme toi.
Mais chez moi, ça ne marche pas. il cherche toujours soit boinccmd, soit liste_url.txt...
Il y a juste un détail qui me tracasse.
On doit pointer vers le dossier où se trouve boinccmd, non?
Chez moi il n'est pas sous /var/lib/boinc-client, mais sous /usr/bin.

Et même en changeant le chemin dans le script vers /usr/bin, ça ne marche pas...

Mais bon, ce n'est pas grave, je vais laisser tomber cette manip. Ce n'est pas super important...




quel distrib ?

et aussi, "ça marche pas" c'est à dire ? ça affiche rien ? pas de msg d'erreur ou autre ?
« Modifié: 12 October 2010 à 21:40 par jip »



Hors ligne [AF>Libristes] nico8313

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 8027
  •   
Réponse #73 le: 12 October 2010 à 21:42
parce que ton .sh a la permission d'exécution.

mais quand tu créé un nouveau fichier ce n'est pas le cas.

fait un clic droit puis propriétés, puis permissions, et tu verras qu'il est autorisé à s'exécuter.

mais si tu créé un nouveau document, même nommé en *.sh, il n'a pas la permission d'exécution.

Oui ! je sais !! comme je sais que cottesloe est sous Ubuntu et que le fait de faire lancer dans un terminal ça s'exécute tout seul !  :D



Hors ligne [AF>Libristes] nico8313

  • Boinc'eur devant l'éternel
  • *****
  • Messages: 8027
  •   
Réponse #74 le: 12 October 2010 à 21:44
Jip !! si tu mets pas /var/lib/boinc-client dans ton script tout le monde va se faire piéger  :D

la plupart des utilisateurs installent BOINC par les dépôts (ou synaptic) ou le script de Gul     et donc il faut  /var/lib/boinc-client   dans le script  :D
« Modifié: 12 October 2010 à 21:49 par nico8313 »