Update.bat: Unterschied zwischen den Versionen
Koschi (Diskussion | Beiträge) |
K (→Linux) |
||
(6 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 6: | Zeile 6: | ||
=== Windows === | === Windows === | ||
− | Den Texteditor öffnen und folgenden Inhalt, hier beispielhaft für das Projekt TN-Gird, einfügen: | + | Den Texteditor öffnen und folgenden Inhalt, hier beispielhaft für das Projekt TN-Gird, einfügen:<br> |
<nowiki> | <nowiki> | ||
cls | cls | ||
Zeile 15: | Zeile 15: | ||
"C:\Programme\Boinc\boinccmd.exe" --project http://gene.disi.unitn.it/test/ update | "C:\Programme\Boinc\boinccmd.exe" --project http://gene.disi.unitn.it/test/ update | ||
GOTO START </nowiki> | GOTO START </nowiki> | ||
− | |||
− | |||
− | |||
Danach die Datei mit dem Namen "Update.bat" im Verzeichnis: C:\ProgramData\BOINC\ abspeichern.<br> | Danach die Datei mit dem Namen "Update.bat" im Verzeichnis: C:\ProgramData\BOINC\ abspeichern.<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. | + | 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. | + | 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> | ||
+ | |||
+ | Wer mit Instanzen arbeitet, nimmt folgendes, und paßt es an: | ||
+ | <nowiki> | ||
+ | @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 | ||
+ | </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 === | === Linux === | ||
Zeile 38: | Zeile 76: | ||
− | <nowiki> while true; do boinccmd --project http://gene.disi.unitn.it/test/ update; sleep 122; done</nowiki> | + | <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, 08: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".