Update.bat: Unterschied zwischen den Versionen

Aus Planet 3DNow! Distributed Computing Wiki
Zur Navigation springen Zur Suche springen
 
(9 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 4: Zeile 4:
  
  
'''Windows'''
+
=== Windows ===
  
Den Texteditor öffnen und folgenden Inhalt, hier beispielhaft für das Projekt TN-Gird, einfügen:<br><br>
+
Den Texteditor öffnen und folgenden Inhalt, hier beispielhaft für das Projekt TN-Gird, einfügen:<br>
 
+
<nowiki>
cls<br>
+
cls
<nowiki>:START</nowiki><br>
+
:START
echo off<br>
+
echo off
time /t<br>
+
time /t
timeout 122<br>
+
timeout 122
"C:\Programme\Boinc\boinccmd.exe" --project http://gene.disi.unitn.it/test/ update<br>
+
"C:\Programme\Boinc\boinccmd.exe" --project http://gene.disi.unitn.it/test/ update
GOTO START
+
GOTO START </nowiki>
<br>
+
Danach die Datei mit dem Namen "Update.bat" im Verzeichnis: C:\ProgramData\BOINC\ abspeichern.<br>
<br>
 
<br>
 
Danach die Datei mit dem Namen "Update.bat" im Verzeichnis: C:/ProgramData/BOINC/ abspeichern.<br>
 
  
 
Darauf achten, dass die Datei nicht "Update.bat.'''txt'''" heißt.<br>
 
Darauf achten, dass die Datei nicht "Update.bat.'''txt'''" heißt.<br>
Zeile 26: Zeile 23:
 
Mit Rechtsklick läßt sich natürlich auch eine Verknüpfung anlegen.<br>
 
Mit Rechtsklick läßt sich natürlich auch eine Verknüpfung anlegen.<br>
  
Die Zahl hinter "timeout" ist in Sekunden, wie lange pausiert werden soll, bis die nächste Anfrage ans Projekt erfolgt.<br>
+
Die Zahl hinter "timeout" ist in Sekunden, wie lange pausiert werden soll, bis die nächste Anfrage ans Projekt erfolgt.
 +
 
 +
Diese Zeitspanne ist von Projekt zu Projekt unterschiedlich.
 +
 
 +
Sollte der Upload hängen, kann mit dieser weiteren Zeile der Upload erneut angestoßen werden:
 +
<nowiki>"C:\Programme\Boinc\boinccmd.exe" --network_available  </nowiki>
  
Diese Zeitspanne ist von Projekt zu Projekt unterschiedlich.<br>
+
Wer mit Instanzen arbeitet, nimmt folgendes, und paßt es an:
<br>
+
<nowiki>
<br>
+
@echo off
 +
cls
 +
:START
 +
"%ProgramFiles%\BOINC\boinccmd.exe" --host 127.0.0.1:9001 --passwd p3d --network_available
 +
"%ProgramFiles%\BOINC\boinccmd.exe" --host 127.0.0.1:9001 --passwd p3d --project http://gene.disi.unitn.it/test/ update
  
 +
"%ProgramFiles%\BOINC\boinccmd.exe" --host 127.0.0.1:9002 --passwd p3d --network_available
 +
"%ProgramFiles%\BOINC\boinccmd.exe" --host 127.0.0.1:9002 --passwd p3d --project http://gene.disi.unitn.it/test/ update
  
'''Linux'''
+
time /t
 +
timeout 15
 +
GOTO START
 +
</nowiki>
 +
 
 +
Wenn mehrere Rechner und Instanzen verwendet werden, reicht es aus, dass eine einzige update.bat für alle Rechner und Instanzen arbeitet.
 +
 
 +
== Powershell-Skript ==
 +
Als Datei ''update.ps1'' abgespeichert und dann Rechtsklick auf die Datei und ''Mit Powershell ausführen'':
 +
<nowiki>
 +
$DLY=190                                                            #project delay
 +
$PEN=30                                                              #penetration interval
 +
$KYW='downloading'                                                    #keyword in tasklist
 +
$PRJ='http://www.worldcommunitygrid.org/'                            #project url
 +
$PBC='C:\Program Files\BOINC\boinccmd.exe'                           #path to boinc+command
 +
Do{$D = (Get-Date).ToString("dd.MM.yyyy HH:mm:ss :")                    #timestamp
 +
    .$PBC --network_available                                   
 +
    .$PBC --project $PRJ update time /t                           
 +
    $M = .$PBC --get_tasks | Select-String -Pattern $KYW
 +
    if ($M.Count -gt 0) {
 +
        Write-Host "$D Naechster Versuch in $PEN Sekunden fuer $PRJ"
 +
        timeout $PEN   
 +
        }
 +
        else { Write-Host "$D Auf Arbeit warten! Verzoegerung: $DLY Sekunden in Projekt $PRJ"
 +
        timeout $DLY
 +
        }
 +
    }
 +
Until (0)
 +
</nowiki>
 +
 
 +
=== Linux ===
  
 
Konsole im Verzeichnis: /var/lib/boinc-client/ mit Strg+Alt+T öffnen und folgenden Inhalt, hier beispielhaft für das Projekt TN-Grid, einfügen:<br>
 
Konsole im Verzeichnis: /var/lib/boinc-client/ mit Strg+Alt+T öffnen und folgenden Inhalt, hier beispielhaft für das Projekt TN-Grid, einfügen:<br>
  
  
while true; do boinccmd --project http://gene.disi.unitn.it/test/ update ; sleep 122; done<br>
+
<nowiki>while true; do boinccmd --project http://gene.disi.unitn.it/test/ update; sleep 122; done</nowiki>
 +
 
 +
Wer mit Instanzen arbeitet, braucht nur --host 127.0.0.1:xxxx einsetzen. Die xxxx stehen für den Namen der Instanz.
 +
Im folgendem Beispiel hat die Instanz die laufende Nummer 31417. Das Passwort anpassen nach Inhalt der [[Instanzen anlegen + verwalten|gui_rpc_auth.cfg]]
 +
 
 +
<nowiki>while true; do boinccmd --host 127.0.0.1:31417 --passwd p3d --project http://gene.disi.unitn.it/test/ update; sleep 122; done</nowiki>
 +
 
 +
In nicht nachvollziehbaren Fällen, kann die Fehlermeldung 'Authorization failure: -155' erscheinen, wenn in der Datei gui_rpc_auth.cfg kein Passwort hinterlegt ist. Der Fehler läßt sich mit zwei Anführungszeichen wie folgt beheben:
  
 +
<nowiki>while true; do boinccmd --host 127.0.0.1:31417 --passwd '' --project http://gene.disi.unitn.it/test/ update; sleep 122; done</nowiki>
  
 
Mit Enter ausführen, und mit Strg+C beenden.<br>
 
Mit Enter ausführen, und mit Strg+C beenden.<br>
  
 
Der Eintrag hinter "sleep" ist analog zu "timeout".
 
Der Eintrag hinter "sleep" ist analog zu "timeout".

Aktuelle Version vom 18. Dezember 2022, 09:58 Uhr

Bei manchen Projekten kommt man nicht umhin, bei der Workunit-Anforderung nachzuhelfen.

Dies erfolgt am einfachsten mit einer ausführbaren Datei, oder im Falle von Linux, mit einer Komandozeile.


Windows

Den Texteditor öffnen und folgenden Inhalt, hier beispielhaft für das Projekt TN-Gird, einfügen:

cls
:START
echo off
time /t
timeout 122
"C:\Programme\Boinc\boinccmd.exe" --project http://gene.disi.unitn.it/test/ update
GOTO START 

Danach die Datei mit dem Namen "Update.bat" im Verzeichnis: C:\ProgramData\BOINC\ abspeichern.

Darauf achten, dass die Datei nicht "Update.bat.txt" heißt.

Datei mit Doppelklick starten, beenden mit Strg+C und mit j bestätigen.

Mit Rechtsklick läßt sich natürlich auch eine Verknüpfung anlegen.

Die Zahl hinter "timeout" ist in Sekunden, wie lange pausiert werden soll, bis die nächste Anfrage ans Projekt erfolgt.

Diese Zeitspanne ist von Projekt zu Projekt unterschiedlich.

Sollte der Upload hängen, kann mit dieser weiteren Zeile der Upload erneut angestoßen werden:

"C:\Programme\Boinc\boinccmd.exe" --network_available  

Wer mit Instanzen arbeitet, nimmt folgendes, und paßt es an:

@echo off
cls
:START
"%ProgramFiles%\BOINC\boinccmd.exe" --host 127.0.0.1:9001 --passwd p3d --network_available
"%ProgramFiles%\BOINC\boinccmd.exe" --host 127.0.0.1:9001 --passwd p3d --project http://gene.disi.unitn.it/test/ update

"%ProgramFiles%\BOINC\boinccmd.exe" --host 127.0.0.1:9002 --passwd p3d --network_available
"%ProgramFiles%\BOINC\boinccmd.exe" --host 127.0.0.1:9002 --passwd p3d --project http://gene.disi.unitn.it/test/ update

time /t
timeout 15
GOTO START
 

Wenn mehrere Rechner und Instanzen verwendet werden, reicht es aus, dass eine einzige update.bat für alle Rechner und Instanzen arbeitet.

Powershell-Skript

Als Datei update.ps1 abgespeichert und dann Rechtsklick auf die Datei und Mit Powershell ausführen:

$DLY=190                                                             #project delay
$PEN=30                                                              #penetration interval
$KYW='downloading'                                                     #keyword in tasklist
$PRJ='http://www.worldcommunitygrid.org/'                            #project url
$PBC='C:\Program Files\BOINC\boinccmd.exe'                            #path to boinc+command
Do{$D = (Get-Date).ToString("dd.MM.yyyy HH:mm:ss :")                     #timestamp
    .$PBC --network_available                                     
    .$PBC --project $PRJ update time /t                             
    $M = .$PBC --get_tasks | Select-String -Pattern $KYW
    if ($M.Count -gt 0) {
        Write-Host "$D Naechster Versuch in $PEN Sekunden fuer $PRJ"
        timeout $PEN     
        }
        else { Write-Host "$D Auf Arbeit warten! Verzoegerung: $DLY Sekunden in Projekt $PRJ"
        timeout $DLY
        }
    }
Until (0)
 

Linux

Konsole im Verzeichnis: /var/lib/boinc-client/ mit Strg+Alt+T öffnen und folgenden Inhalt, hier beispielhaft für das Projekt TN-Grid, einfügen:


while true; do boinccmd --project http://gene.disi.unitn.it/test/ update; sleep 122; done

Wer mit Instanzen arbeitet, braucht nur --host 127.0.0.1:xxxx einsetzen. Die xxxx stehen für den Namen der Instanz. Im folgendem Beispiel hat die Instanz die laufende Nummer 31417. Das Passwort anpassen nach Inhalt der gui_rpc_auth.cfg

while true; do boinccmd --host 127.0.0.1:31417 --passwd p3d --project http://gene.disi.unitn.it/test/ update; sleep 122; done

In nicht nachvollziehbaren Fällen, kann die Fehlermeldung 'Authorization failure: -155' erscheinen, wenn in der Datei gui_rpc_auth.cfg kein Passwort hinterlegt ist. Der Fehler läßt sich mit zwei Anführungszeichen wie folgt beheben:

while true; do boinccmd --host 127.0.0.1:31417 --passwd '' --project http://gene.disi.unitn.it/test/ update; sleep 122; done

Mit Enter ausführen, und mit Strg+C beenden.

Der Eintrag hinter "sleep" ist analog zu "timeout".