Script Powershell a ser chamado por servidores servidores para copiar arquivos de log para localização remota

1

Temos vários servidores que salvam arquivos de log localmente e estou tentando automatizar o registro em um único local de rede com um nome da pasta pai onde os arquivos de log são armazenados e a data e hora modificadas

Servidor 1 D:\Projects\Ohio\(Rel1)\BuildScripts\logs

Servidor 2 D:\Projects\Ohio\(Rel2)\BuildScripts\logs

Servidor 3 D:\Projects\Ohio\(Rel3)\BuildScripts\logs

Tentativa de copiar todos os registros para R:\Logs\CruiseControl\(Rel.AW) \logs+timestamp\logfiles.txt

Até agora, eu posso configurar isso para o Servidor 1 com o script abaixo, mas o problema é que o mesmo script precisa ser chamado pelo Servidor 1, Servidor 2 e Servidor 3 e cada vez que os logs precisam ir para um específico stream (Rel1, Rel2, Rel3) Como posso referenciar o nome do stream?

$logDir = 'D:\Projects\Ohio\Rel.AW\BuildScripts\logs'
$copyDir = 'R:\Logs\CruiseControl\Rel.AW'

Get-ChildItem $logDir -File | ForEach {
    $parentFolder = $_.Directory.Name
    $timeStamp = $_.LastWriteTime.ToString('MMddyyyy')
    $path = Join-Path -Path $copyDir -ChildPath "$($parentFolder)_$($timeStamp)"
    Write-Host "Path to copy to is: $path" -ForegroundColor Green
}
robocopy $logDir $path /log+:R:\Logs\CruiseControl\Rel.AW\log
    
por alexserd 14.08.2015 / 23:36

1 resposta

0

PowerShell 3.0-5.0: Fluxos de trabalho do PowerShell: o Noções básicas

Workflow <workflow name> {
 foreach –parallel ($object in $objects){
   <code>    ...      </code>
 }
}

Trabalho do PowerShell 2: Ping de thread

    
por 15.08.2015 / 00:36