2010-09-14 6 views
6

Ich habe eine Menge Jobs mit Sun Grid Engine. Da es sich um Jobs handelt (~ 100000), möchte ich Array-Jobs verwenden, die in der Warteschlange einfacher zu sein scheinen.Redirect Ausgabe in verschiedenen Verzeichnissen für Sun Grid-Engine-Array-Jobs

Ein weiteres Problem ist, dass jeder Job eine Stdout- und Stderr-Datei erzeugt, die ich verfolgen muss, um Fehler zu finden. Wenn ich sie in qsub -t 1-100000 -o outputdir -e errordir definiere, werde ich am Ende Verzeichnisse mit 100000 Dateien haben, was zu viel ist.

Gibt es eine Möglichkeit, jeden Job die Ausgabedatei in ein Verzeichnis schreiben zu lassen (zB ein Verzeichnis, das aus den ersten 2 Zeichen der Job-ID besteht, zufällige Hex-Buchstaben oder die Jobnummer modulu 1000, oder etwas von dieser Art).

Dank

Antwort

2

ich nicht eine gute Art und Weise denken kann dies mit qsub zu tun, da es keine programmatischen Schnittstellen in die -o und -e-Optionen sind. Es gibt jedoch einen Weg, um zu erreichen, was Sie wollen.

Führen Sie Ihre QSub mit -o und -e auf/dev/null. Machen Sie den Befehl, den Sie ausführen, eine Art Wrapper, der sein eigenes stdout und stderr in Dateien umleitet, wie Sie wollen (d. H. Ihre aufgegliederte Verzeichnisstruktur), bevor es den eigentlichen Job ausführt.

Verwandte Themen