0815newby 0 Geschrieben 9. Februar 2016 Melden Teilen Geschrieben 9. Februar 2016 (bearbeitet) 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 10. Februar 2016 von 0815newby Zitieren Link zu diesem Kommentar
daabm 1.354 Geschrieben 13. Februar 2016 Melden Teilen Geschrieben 13. Februar 2016 $backup_job = [scriptblock]::Create("cmd /c '$backup' & TuNochWasAnderes") wäre eine Option... Zitieren Link zu diesem Kommentar
0815newby 0 Geschrieben 15. Februar 2016 Autor Melden Teilen Geschrieben 15. Februar 2016 (bearbeitet) 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'") bearbeitet 15. Februar 2016 von 0815newby Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 15. Februar 2016 Melden Teilen Geschrieben 15. Februar 2016 Es gibt da mehrere Möglichkeiten. Entweder Powershell Techniken (Workflows oder Jobs) https://technet.microsoft.com/en-us/library/jj713711.aspx https://technet.microsoft.com/en-us/library/hh847783.aspx Oder Dot.Net Threading. Zitieren Link zu diesem Kommentar
daabm 1.354 Geschrieben 15. Februar 2016 Melden Teilen Geschrieben 15. Februar 2016 (bearbeitet) 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 bearbeitet 15. Februar 2016 von daabm Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.