Jump to content

Powershell - Parallele Jobs


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hey Scripting Guys,

 

ich habe ein Skript, dass ein Backup zu jeder Datenbanken in einem bestimmten Ordner erstellt. Die Backups laufen in parallelen Jobs, die eine maximale Anzahl nicht überschreiten dürfen.  

#count running jobs
    Function ThreadsCount{
    Get-Job -State Running | Out-File -FilePath $filepath
    $find=Select-String -path $filepath -pattern "Running"
    return,$find.count
}


#backup 
ForEach($db in (Get-ChildItem -Path $datadir -Filter "*gdb" -Name)-replace ".GDB","") {  


                    $backup = "$firebird -b -v -user USER -password PASSWORD $datadir$db.GDB $backupdir$db.gbk -y $backupdir$db.log"
                    $backup_job = [scriptblock]::Create("cmd /c '$backup'")
                    $var = {Start-Job -Name Backup-$db -ScriptBlock $backup_job}
                    .$var 

                    #check running jobs                    
                    $tmp = ThreadsCount
                    while ($tmp -eq $MAXTHREADS){
                        echo "max Anzahl"
                        # Sleep time between next background check
                        Start-Sleep -s $WAITSECONDS
                        $tmp = ThreadsCount
                    }
Nun möchte ich die Backup-Datei zippen. Welchen Befehl muss ich nutzen, dass nach dem Backup-Job die Datei gezippt wird und diese trotzdem parallel laufen?
 
Danke im Voraus!
bearbeitet von 0815newby
Link zu diesem Kommentar

Wenn ich die folgende Zeile ausführe, passiert nix mehr. Er zeigt zwar an, dass er was macht, allerdings werden keine Dateien erstellt.

$backup_job = [scriptblock]::Create("cmd /c '$backup'" -and "cmd /c $zippen'")

 

Ich schrub ja auch nicht -and, sondern & - der Befehls-Konkatenator von cmd.exe:

 

echo 1 & echo 2 & echo 3

 

smile.gif

bearbeitet von daabm
Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...