Rsync খুব দরকারী, আমাকে কোনও ডিরেক্টরিতে সমস্ত ফাইল অনুলিপি করতে হবে না। এটি কেবলমাত্র নতুন নতুন ফাইল আপডেট করে।
আমি এটি সাইগউইনের সাথে ব্যবহার করি তবে আমার মনে হয় কিছু অসঙ্গতি রয়েছে, যা এই প্রশ্নের মূল ফোকাস নয়।
তাহলে কি এর সমতুল্য আছে?
Rsync খুব দরকারী, আমাকে কোনও ডিরেক্টরিতে সমস্ত ফাইল অনুলিপি করতে হবে না। এটি কেবলমাত্র নতুন নতুন ফাইল আপডেট করে।
আমি এটি সাইগউইনের সাথে ব্যবহার করি তবে আমার মনে হয় কিছু অসঙ্গতি রয়েছে, যা এই প্রশ্নের মূল ফোকাস নয়।
তাহলে কি এর সমতুল্য আছে?
উত্তর:
যদিও একটি সঠিক সমতুল্য নয়, এবং পাওয়ারশেল বৈশিষ্ট্য নয়, রোবোকপি কিছু কিছু করতে পারে যা rsync ব্যবহার করা হয়।
Https://serverfault.com/q/129098 এও দেখুন
এটি ডিরেক্টরিগুলির মধ্যে সিনক্রোনাইজ করতে কাজ করে। "Rsync" ফাংশনটি কল করুন। আমার রবোকপি নিয়ে অনুমতি ছিল। এটিতে এই সমস্যাগুলি নেই।
function rsync ($source,$target) {
$sourceFiles = Get-ChildItem -Path $source -Recurse
$targetFiles = Get-ChildItem -Path $target -Recurse
if ($debug -eq $true) {
Write-Output "Source=$source, Target=$target"
Write-Output "sourcefiles = $sourceFiles TargetFiles = $targetFiles"
}
<#
1=way sync, 2=2 way sync.
#>
$syncMode = 1
if ($sourceFiles -eq $null -or $targetFiles -eq $null) {
Write-Host "Empty Directory encountered. Skipping file Copy."
} else
{
$diff = Compare-Object -ReferenceObject $sourceFiles -DifferenceObject $targetFiles
foreach ($f in $diff) {
if ($f.SideIndicator -eq "<=") {
$fullSourceObject = $f.InputObject.FullName
$fullTargetObject = $f.InputObject.FullName.Replace($source,$target)
Write-Host "Attempt to copy the following: " $fullSourceObject
Copy-Item -Path $fullSourceObject -Destination $fullTargetObject
}
if ($f.SideIndicator -eq "=>" -and $syncMode -eq 2) {
$fullSourceObject = $f.InputObject.FullName
$fullTargetObject = $f.InputObject.FullName.Replace($target,$source)
Write-Host "Attempt to copy the following: " $fullSourceObject
Copy-Item -Path $fullSourceObject -Destination $fullTargetObject
}
}
}
}