Veeam Backup

Robocopy ile Offline Backup Almak

Robocopy Offline Backup (Robust File Copy), Windows işletim sistemlerinde dosya kopyalama ve yedekleme işlemleri için kullanılan bir komut satırı aracıdır. Kullanım alanları çok değişkenlik gösterse de ben bugün offline backup işlemleri için sizlere yol gösteriyor olacağım.

Offline Backup Senaryosu :

Diyelim ki Veeam Backup, sanal sunucu yedeklerini güvende tutmak ve olası kritik durumlar için verileri güvene almak istiyoruz. Datastore üzerinde 18TB veri olduğunu varsayalım. Bu bağlamda elimizde de offline backup için tuttuğumuz 2x10TB toplam 20TB alan olduğunu varsayalım.

İlk aşamada sürükle bırak mantığı ile verileri kopyalayabileceğimizi düşünsek de veri dosyalarının çok büyük olması sebebiyle 2 parça halinde ayrı disklere atmak bir hayli uğraştırıcı olacaktır. Diğer yandan ise Robocopy Offline Backup sırasında, dosya sistemi üzerinde başka işlemler (örneğin, kullanıcı etkileşimleri veya diğer uygulamalar) gerçekleşmediği için, Robocopy daha az disk I/O rekabeti ile karşılaşır ve bu da genellikle daha hızlı bir kopyalama süreci anlamına gelir. Öyleyse senaryoya istinaden robocopy için hangi powershell komutlarını çalıştırırız örnek ile göstereyim.

$source = "D:\KaynakVeri"
$destination1 = "E:\Hedef1"
$destination2 = "F:\Hedef2"
$currentDestination = $destination1
 
function Get-FreeSpace {
    param (
        [string]$drivePath
    )
    $driveLetter = ($drivePath -split ":")[0]
    return (Get-Volume -DriveLetter $driveLetter).SizeRemaining
}
 
function Get-FileSize {
    param (
        [string]$filePath
    )
    return (Get-Item $filePath).length
}
 
Get-ChildItem -Path $source -Recurse | Where-Object { !$_.PSIsContainer } | ForEach-Object {
    $fileSize = Get-FileSize $_.FullName
    $relativePath = $_.FullName.Substring($source.Length)
    $targetPath = Join-Path $currentDestination $relativePath
 
   if ($fileSize -gt (Get-FreeSpace $currentDestination)) {
        if ($currentDestination -eq $destination1) {
            $currentDestination = $destination2
            $targetPath = Join-Path $currentDestination $relativePath
        } else {
            Write-Error "Both destinations are full!"
            exit
        }
    }
 
    $targetDir = [System.IO.Path]::GetDirectoryName($targetPath)
    if (-not (Test-Path $targetDir)) {
        New-Item -ItemType Directory -Path $targetDir -Force
    }
 
    robocopy $_.DirectoryName $targetDir $_.Name /R:5 /W:5
}
 

Robocopy Kodun İşlevi :

  • 1-Dosyanın boyutunu alır. Kopyalamayı başlatır
  • 2-Şu anki hedef klasörde yeterli alan olup olmadığını kontrol eder.
  • 3-Eğer yeterli alan yoksa, hedefi değiştirir.
  • 4-Dosyayı hedef klasöre kopyalar.

Sonuç olarak ; örnek bir senaryo üzerinden robocopy’nin işlevlerini sizlerle paylaşmak istedim. Bu neticede olayın mantığını kavrayarak kullanım alanlarını genişletebilirsiniz. Aynı zamanda konu ilginizi çektiyse Temel Powershell Komutları – Pratik Kodlar başlıklı makaleye göz atabilirsiniz.

Kaynak Chatgpt‘nin bizzat kendisidir. Kod bilgileri ve senaryonun gerçekleşmesinde rol oynamıştır.

Kazım Yazıcı

Aktif öğrenim ve yenilikçiliklere açık , teknoloji kaynaklı donanım ve yazılım alanlarında uzun yıllar çalışmış, vizyonu ; bilgi alanlarını genişleterek sektör içinde yer edinmeyi sağlayacak önemli pozisyon ve projelerde çalışabilmektir.

Recent Posts

Gündemden Teknolojik Haberler: Yapay Zeka ve Geleceğimiz

```html Yapay Zeka: Sadece Sohbet Botlarından Fazlası Yapay zeka (YZ), günümüzde artık sadece karmaşık algoritmalar…

10 ay ago

Gündemdeki Teknolojik Gelişmeler: Savunmadan Finansa Bu Hafta Neler Oldu?

Gündemdeki Teknoloji Başlıkları: Bu Hafta Neler Oldu? Bu hafta teknoloji dünyası, savunma sanayisinden finansa kadar…

10 ay ago

Gündemdeki Teknolojik Gelişmeler: Yatırımlar, İnovasyonlar Ve Eğilimler

Birleşik Krallık'a Yapılan Teknoloji Yatırımları ve İstihdam Etkisi Teknoloji dünyasındaki son gelişmeler, küresel şirketlerin önemli…

10 ay ago

Gündemden Teknolojik Haberler: Haftanın Öne Çıkan Gelişmeleri

Teknoloji dünyasının baş döndürücü temposuyla, her hafta yeni bir dönüm noktasına ulaşıyor, bizi şaşırtan gelişmelerle…

10 ay ago

Gündemdeki Teknolojik Gelişmeler: Yatırımlar, İhracatlar Ve Yenilikler

Birleşik Krallık'a Teknoloji Yatırımları Artıyor Teknoloji dünyasında haftanın öne çıkan gelişmelerinden biri, büyük teknoloji şirketlerinin…

10 ay ago

Yapay Zeka Nedir? Temel Kavramlar Ve Kısa Bir Tarihçe

Yapay Zeka Nedir?: Temel Kavramlar ve Kısa Bir Tarihçe Yapay zeka (YZ), makinelerin öğrenme, problem…

10 ay ago

This website uses cookies.