1. Anasayfa
  2. Uncategorized

Robocopy ile Windows İşletim Sisteminde Profesyonel Dosya Kopyalama ve Yedekleme


Windows ortamında günlük kopyalama işlemleri genellikle copy–paste veya xcopy komutlarıyla yapılır. Küçük dosyalar için bu yöntemler yeterlidir; ancak:

  • Milyonlarca dosya içeren klasörler,
  • Yüzlerce GB boyutunda tek dosyalar (örneğin sanal disk imajları),
  • Ağ üzerinden uzun süreli kopyalamalar,
  • Felaket kurtarma (Disaster Recovery – DR) senaryoları söz konusu olduğunda bu klasik yöntemler yetersiz kalır. İşte bu noktada Robocopy (Robust File Copy) devreye girer.

Microsoft tarafından geliştirilen bu araç hızlı, dayanıklı ve esnek dosya kopyalama, senkronizasyon ve yedekleme imkânı sunar.

Robocopy’nin Öne Çıkan Özellikleri

  • Kesintilere Dayanıklılık (/Z, /ZB): Ağ kopması, elektrik kesintisi gibi durumlarda kaldığı yerden devam eder.
  • Senkronizasyon (/MIR): Kaynak ve hedef klasörleri birebir aynı hale getirir. Fazla dosyaları da siler.
  • Hata Toleransı (/R, /W): Yeniden deneme sayısı ve bekleme süresi ayarlanabilir.
  • NTFS İzinleri ve Metadata Koruma (/COPYALL, /SEC): Tarih damgaları, sahiplik, güvenlik izinleri dahil tüm özellikleri korur.
  • Çoklu Thread ile Hız (/MT): Paralel kopyalama sayesinde büyük veri transferleri hızlanır.
  • Filtreleme (/XD, /XF): İstenmeyen klasör ve dosyaları hariç tutar.
  • Loglama (/LOG, /TEE): Ayrıntılı raporlama ile sürecin takibini kolaylaştırır.

Temel Kullanım

robocopy C:\Data D:\Backup /MIR /Z /R:1 /W:1 /LOG:C:\backup_log.txt
  • /MIR → Kaynak ve hedefi birebir aynı yapar.
  • /Z → Kopyalama yarıda kalırsa kaldığı yerden devam eder.
  • /R:1 → Hata durumunda yalnızca 1 kez yeniden dene (varsayılan 1 milyon).
  • /W:1 → Yeniden denemeler arasında 1 saniye bekle.
  • /LOG → İşlem kaydını log dosyasına yaz.

Önemli Nokta: /Z parametresi hangi dosyanın hangi byte’a kadar kopyalandığını kaydeder. Böylece büyük dosyalarda kesinti yaşansa bile eksik kısımdan devam eder.

İleri Parametreler

  • /COPYALL → Tüm metadata (tarih, izin, sahiplik, audit bilgileri) kopyalanır.
  • /SEC → NTFS izinleri korunarak kopyalama yapılır.
  • /ZB → Normal kopyalama başarısız olursa “Backup Mode” ile devam eder.
  • /MT:n → Çoklu thread kopyalama (örn. /MT:32).
  • /XD <klasör> → Belirli klasörleri hariç tutar.
  • /XF <dosya> → Belirli dosyaları hariç tutar.
  • /TEE → Log çıktısını hem ekrana hem dosyaya yazdırır.

Örnek Kullanım Senaryoları

1. Günlük Yedekleme

Her gece kaynak klasörü yedek klasörle birebir aynı hale getir.

robocopy C:\Data D:\Backup /MIR /Z /R:1 /W:1 /LOG:C:\Logs\backup_%date%.txt

Günlük log dosyası tarih bazlı oluşturulur.

2. Ağ Üzerinden Kopyalama

Sunucular arası dosya transferi yaparken ağ kesilirse kaldığı yerden devam eder.

robocopy \\Server1\Share \\Server2\Share /MIR /Z /R:3 /W:5 /MT:16 /LOG:C:\Logs\network_copy.txt

16 thread ile kopyalama hızlanır.

3. Büyük Tek Dosya Transferi

100 GB’lık ISO dosyasını kopyala.

robocopy C:\ISO D:\ISO bigdata.iso /Z /R:2 /W:5 /LOG:C:\Logs\iso_copy.txt

Kesinti yaşansa bile /Z ile kaldığı yerden devam eder.

4. Felaket Kurtarma (DR) Senaryosu

Kritik sanal makineleri DR lokasyonuna kopyala.

robocopy \\Prod-DC\VMs \\DR-DC\VMs /MIR /ZB /MT:32 /COPYALL /R:5 /W:10 /LOG:C:\Logs\dr_sync.txt

/COPYALL ile tüm izinler, zaman damgaları korunur.

5. Test Ortamını Yenileme

Üretimden test ortamına veri taşırken gereksiz dosyaları hariç tut.

robocopy \\Prod\Data \\Test\Data /MIR /XD Logs Temp Cache /XF *.bak *.tmp /MT:8 /R:1 /W:1 /TEE /LOG:C:\Logs\test_copy.txt

Log ve temp klasörleri hariç tutulur, gereksiz dosya kopyalanmaz.

6. Artımlı (Incremental) Yedekleme

Sadece değişen dosyaları kopyala.

robocopy C:\Source D:\Dest /E /XO /XC /XN /LOG:C:\Logs\incremental.txt

/XO, /XC ve /XN ile aynı veya eski dosyalar atlanır.

7. Arşivleme

90 günden eski dosyaları arşiv klasörüne taşı.

robocopy C:\Projects D:\Archive /MOV /MINAGE:90 /LOG:C:\Logs\archive.txt

/MOV ile dosyalar taşınır, kaynak klasör temizlenir.

8. İzleme + Loglama

Süreci hem ekranda hem log dosyasında gör.

robocopy C:\Finance D:\FinanceBackup /MIR /Z /MT:12 /TEE /LOG:C:\Logs\finance.txt

/TEE ile çıktı hem ekrana hem dosyaya yazılır.

9. Dosya Türlerini Hariç Tutma

Geçici ve log dosyaları hariç bırak.

robocopy C:\Data D:\Backup /E /XF *.tmp *.bak *.log /LOG:C:\Logs\filtered.txt

Sadece gerekli dosyalar taşınır.

10. Klasör Yapısını Kopyalama (Dosyasız)

Sadece klasör ağacını kopyala.

robocopy C:\Data D:\Empty /E /CREATE /LOG:C:\Logs\structure.txt

/CREATE parametresi ile boş klasör yapısı oluşturulur.

Öneri : Dosya sunucusu taşıma projelerinde çok sık kullandığım komut;

robocopy s:\ d:\ /XX /MIR /SEC /R:0 /MT:32 /V /NFL /NJH /TEE /LOG:[logfile]

Parametrelerin Detaylı Açıklaması

  • *s:\ d:* → Kaynak S sürücüsü, hedef D sürücüsü.
  • /XX → Fazlalıkları korur. Normalde /MIR fazladan dosyaları siler; /XX ile fazladan dosyalar hedefte kalır.
  • /MIR → Kaynak ve hedef klasör yapısını ayna şeklinde kopyalar (subfolder + dosyalar).
  • /SEC → NTFS izinleri ile birlikte kopyalar. Güvenlik tanımları korunur.
  • /R:0 → Hata olduğunda yeniden deneme yapmaz. Varsayılan 1.000.000 denemedir. Bu komutta hata alınırsa atlayıp devam eder.
  • /MT:32 → 32 thread ile paralel kopyalama yapar. Büyük veri transferlerinde ciddi hız kazandırır.
  • /V → Detaylı (verbose) çıktı verir. Hangi dosyaların kopyalandığı görülebilir.
  • /NFLNo File List. Dosya isimlerini listemez, sadece özet bilgi verir. (Çıktıyı sadeleştirir.)
  • /NJHNo Job Header. Başlık satırlarını göstermez.
  • /TEE → Çıktıyı hem ekrana hem log dosyasına yazar.
  • /LOG:[logfile] → Çıkış bilgilerini belirtilen log dosyasına kaydeder.

Bu Komutu ile;

  • S sürücüsündeki tüm klasör ve dosyaları, NTFS izinleriyle birlikte D sürücüsüne birebir kopyalar.
  • Kaynakta olup hedefte olmayan dosyaları ekler.
  • Hedefte olup kaynakta olmayan dosyaları silmez (çünkü /XX var).
  • Hata durumunda tekrar deneme yapmaz (/R:0).
  • 32 thread ile yüksek hızda kopyalar.
  • Çıktı hem ekranda hem log dosyasında izlenebilir, ancak dosya listesi ve başlıklar yoktur → daha özet log.

Kullanım Senaryosu

  1. Büyük Disk Senkronizasyonu (Read-Only Modda)
    Örneğin bir dosya sunucusunun verilerini yedek sürücüye aktarıyorsun. Hedefte farklı fazladan dosyalar olabilir, onları silmek istemiyorsun → /XX doğru tercih.
  2. İzinleri Koruyarak Kopyalama
    Kurumsal ortamlarda dosya paylaşım izinleri kritik olabilir. /SEC sayesinde NTFS izinleri korunur.
  3. Hızlı, Tek Seferlik Kopyalama
    /R:0 sayesinde başarısız olan dosyalarda zaman kaybedilmez. Özellikle bozuk dosyalar varsa işlem hızlıca devam eder.

Dikkat Edilmesi Gerekenler

  1. /MIR parametresi riskli: Kaynakta olmayan dosyalar hedefte de silinir. Yanlış kullanım veri kaybına yol açabilir.
  2. Çoklu thread (/MT) disk ve CPU’yu zorlayabilir. Sistem kapasitesine göre ayarlanmalı.
  3. Log dosyaları incelenmeli: Başarısız dosyalar log sayesinde tespit edilir.
  4. Canlıya almadan test yapılmalı: Küçük dataset üzerinde deneme, hataları önceden görmenizi sağlar.

Robocopy, Windows’un sunduğu en güçlü dosya kopyalama aracıdır. Sağladığı:

  • Kesintilere dayanıklılık (/Z, /ZB),
  • Tam senkronizasyon (/MIR),
  • Esnek filtreleme (/XD, /XF),
  • Yüksek performans (/MT),
  • Kapsamlı loglama (/LOG, /TEE)

özellikleriyle sadece bir kopyalama aracı değil aynı zamanda yedekleme, senkronizasyon ve felaket kurtarma stratejilerinin profesyonel çözümüdür. Doğru parametrelerle kullanıldığında Robocopy hem zaman kazandırır hem de veri güvenliğini en üst düzeye çıkarır.