আমাদের বেশ কয়েকটি সার্ভার রয়েছে যা স্থানীয়ভাবে লগ ফাইলগুলিকে সংরক্ষণ করে এবং আমি লিংক ফাইলগুলি সংরক্ষিত থাকে এবং তারিখের সংশোধিত সময়ের স্ট্যাম্পের তারিখ সহ একক নেটওয়ার্কের স্থানে লগিং স্বয়ংক্রিয় করার চেষ্টা করি I'm
সার্ভার 1 D:\Projects\Ohio\(Rel1)\BuildScripts\logs
সার্ভার 2 D:\Projects\Ohio\(Rel2)\BuildScripts\logs
সার্ভার 3 D:\Projects\Ohio\(Rel3)\BuildScripts\logs
সমস্ত লগ অনুলিপি করার চেষ্টা করছে R:\Logs\CruiseControl\(Rel.AW) \logs+timestamp\logfiles.txt
এখন পর্যন্ত আমি নীচের স্ক্রিপ্টটি দিয়ে এটি সার্ভার 1-এ সেট করতে সক্ষম হয়েছি তবে সমস্যাটি হ'ল একই স্ক্রিপ্টটি সার্ভার 1, সার্ভার 2 এবং সার্ভার 3 দ্বারা কল করা প্রয়োজন এবং প্রতিটি সময় লগগুলিকে নির্দিষ্ট স্ট্রিমে যেতে হবে (Rel1) , Rel2, Rel3) আমি কীভাবে প্রবাহের নামটি উল্লেখ করতে পারি?
$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