nwindows7

Windows 7, 8 ve 10: Verilerinizi Sadece Windows'u Kullanarak Düzenli Yedeklemek İçin: RoboCopy

          Bu yazıda size dilediğiniz klasörlerinizi hiçbir 3. parti araç kullanmadan ve 3. parti araçlardan çok daha performanslı bir şekilde nasıl yedekleyebileceğinizi ve bunu nasıl otomatiğe bağlayacağınızı anlatacağım. Bunun içinde RoboCopy adlı Windows aracını kullanacağız...

          Bu Komut Satırı bazlı araç varsayılan olarak C:\Windows\System32\Robocopy.exe lokasyonunda bulunur. İlk olarak Windows NT 4.0 Geliştirici Kiti ile birlikte sunulan araç Windows Vista'dan beri varsayılan bir Windows özelliği olarak kullanıcıya sunuluyor. Özellikle sistem yöneticileri bu aracı kullanarak çok kapsamlı yedekleme süreçleri hazırlayabilirler. Ancak ben komutu ev kullanıcılarının ihtyaç duyabileceği seviyede anlatacağım..

          Robocopy aracının üstünlükleri ise son derece esnek olması ve çeşitli komut kombinasyonları ile detaylı yedekleme stratejileri belirlemeye olanak sağlaması, çok kanallı (Multi-thread) çalışabilmesi, senkronizasyon olanağı sağlaması sayılabilir...

Giriş...


           Bilmemiz gerek ilk şey bu aracın bir klasör yedekleyicisi olduğu. Bu aracı kullanarak dosya yedekleyemezsiniz. Örneklemek gerekirse C:\Icon\Notebook.ico ikon dosyasını yedekleyemezsiniz ama C:\Icon\ klasörünü yedekleyebilirsiniz. Dolayısıyla C:\Icon\ klasörünün içindeki Notebook.ico ikon dosyasını da yedeklemiş olursunuz.

Araç Komut İstemcisi'nden robocopy komutu ile çağrılarak kullanlıyor. Anccak bu şekilde kullanım pek pratik olmayacağı için biz bir script hazırlayarak onunla kullanacağız. Öncelikle ana komutları görelim:


Temel komut
robocopy <Kaynak> <Hedef> <Ekstra seçenekler>
şeklinde.

       Açarsak yukarıda örnek verdiğim C:\Icon\ klasörünü D:\Yedekler\Icon\ hedefine kopyalamak için kullanacağımız temel komut robocopy C:\Icon D:\Yedekler\Icon şeklinde olacaktır. Eğer kaynak veya hedef adreste boşluk(lar) varsa adresi tırnak işareti içine almayı unutmayın. Örneğin "D:\Yedekler\Icon klasörü" gibi.

        Ekstra komutlara gelince altta temel olarak ihtiyacınız olan birkaç komutu veriyorum. Kullanabileceğiniz bütün komutların listesine ise buradan ulaşabilirsiniz. (İngilizce)

  • /s  Bütün alt klasörleri de (Boş klasörler hariç) kopyalar.
  • /e  Bütün alt klasörleri de (Boş klasörler dahil) kopyalar.
  • /z  Kopyalamayı herhangi bir sebepten dolayı yarım kaldığında tekrar başlatacak şekilde yapar.
  • /b  Kopyalamayı yedekleme modunda yapar. Yani bütün dosyaları yedekler.
  • /purge Artık kaynakta yer almayan dosyaları hedef klasörden siler.
  • /mir Hedefteki dosyaları kontrol ederek sadece yeni dosyaları hedefe kopyalar. (Önemli: Yazının sonundaki uyarıyı mutlaka okuyun)
  • /mov Dosyaları taşır ve taşıma bititkten sonra kaynağı siler.
  • /256 Dosya isimlerindeki 256 karakter sınırını iptal eder. Sadece 256 karakterden uzun isimlere sahip dosyalarınız varsa kullanın.
  • /np Kopyalama sürecinin komut satırında görüntülenmesini engeller.
  • /log:  Yapılan işlemleri bir günlüğe kaydeder.



Dikkatli okuyucular farketmiştir:  /mir komutu ile  /e ve /purge komutlarının bileşimi aynı anlama geliyor. Ancak aralarında ufak bir fark var:  /mir konutunu kullanırsanız hedef dizinin mevcut olması durumunda güvenlik seçeneklerinin üzerine yazılır oysa /e + /purge komutunu kullanırsanız hedef dizin hali hazırda mevcut olsa bile güvenlik seçenekleri aynen bırakılır ve üzerine yazılmaz.


Uygulama...


        Girişte de belirttiğim gibi bu komutları kullanmak için bir script  hazırlayacağız. Ben örnek olarak C:\ kök dizininde bulunan C:\Icon, C:\Blog ve C:\Portable Programlar klasörüyle kendi kullanıcı hesabım altında bulunan C:\Users\Nonpasaran\Documents\PDF ler klasörlerini yedekleyeceğim.

        Bunun için önce kaynak klasörleri bir Metin Belgesi'nde yazıyorum;
C:\Icon
C:\Blog
"C:\Portable Programlar"
"C:\Users\Nonpasaran\Documents\PDF"
         Ardından hedef klasörü giriyorum. Ben hepsini aynı lokasyona yedekliyorum ama siz farklı farklı lokasyonlara yedekleyebilirsiniz;
Robocopy C:\Icon E:\Yedekler\Icon
Robocopy C:\Blog E:\Yedekler\Blog
Robocopy "C:\Portable Programlar" "E:\Yedekler\Portable Programlar" 
Robocopy "C:\Users\Nonpasaran\Documents\PDF ler" "E:\Yedekler\PDF ler"
        Şimdi  bütün alt klasörlerin de (Boş klasörleri dahil ederek) kopyalanması için  /e ve senkronizasyon yapılması için /mir komutlarını ekliyorum. Komutların anlamını yukarıda açıkladım.
Robocopy C:\Icon E:\Yedekler\Icon /e /mir  
Robocopy C:\Blog E:\Yedekler\Blog /e /mir 
Robocopy "C:\Portable Programlar" "E:\Yedekler\Portable Programlar" /e /mirRobocopy "C:\Users\Nonpasaran\Documents\PDF ler" "E:\Yedekler\PDF ler" /e /mir 
          Bu temel olarak yeterli ancak isterseniz günlük tutulmasını da sağlayabilirsiniz. Bunun için /log: komutunu kullanıyorum. Bu komut her yedeklemeden sonra bir günlük dosyasının Masaüstünde oluşmasını sağlayacak;
Robocopy C:\Icon E:\Yedekler\Icon /e /mir /log:Yedekleme günlüğü.txt
Robocopy C:\Blog E:\Yedekler\Blog /e /mir /log+:Yedekleme günlüğü.txt
Robocopy "C:\Portable Programlar" "E:\Yedekler\Portable Programlar" /e /mir /log+:Yedekleme günlüğü.txt
Robocopy "C:\Users\Nonpasaran\Documents\PDF ler" "E:\Yedekler\PDF ler" /e /mir /log+:Yedekleme günlüğü.txt
          Dikkat ettiyseniz ilk /log: komutundan sonra komutu /log+: şeklinde değiştirdim. Bunun sebebi + işaretinin her klasörün log dosyasını ayırması. Oysa + işaretini koymazsam 4 klasörün log dosyası da birbirine eklenir. Ancak bu komut (/log:) sürecin komut istemcisinde görüntülenmesini de engeller. Komut istemcisinde görüntülenmesini istiyorsanız /tee komutunu da ekleyin.

          Ayrıca performansı arttırmak için işlem kanalı (Multi Thread) sayısını arttırabilirsiniz. Bunun için /mt komutunu kullanacaksınız. Bu komutu girmek işlemi 8 kanallı olarak yürütür. Ama komutu /mt:kanal sayısı şeklinde kullanarak kopyalamanın 2 ila 256 paralel işlemde yapılmasını sağlayabilirsiniz.

         Son olarak Komut İstemcisi'nin işlem bittikten sonra kapanmasını istemiyor incelemek istiyorsanız son satıra pause komutunu ekleyin:
Robocopy C:\Icon E:\Yedekler\Icon /e /mir /mt /log:Yedekleme günlüğü.txt
Robocopy C:\Blog E:\Yedekler\Blog /e /mir /mt /log+:Yedekleme günlüğü.txt
Robocopy "C:\Portable Programlar" "E:\Yedekler\Portable Programlar" /e /mir /mt /log+:Yedekleme günlüğü.txt
Robocopy "C:\Users\Nonpasaran\Documents\PDF ler" "E:\Yedekler\PDF ler" /e /mir /mt /log+:Yedekleme günlüğü.txt
Pause
         Şimdi komutlarımız hazır. Metin belgesinde Dosya/Farklı Kaydet yolunu izleyerek herhangibirisim.bat olarak kaydederek scripti oluşturun. Ben Yedekle.bat olarak oluşturdum.




         Artık çift tıklayarak kullanabilirsiniz. Ancak görünümü pek hoş olmadığı için (Altta soldaki resim) bunu Masaüstü dışında herhangi bir lokasyona taşıyabilir ve ondan sonra kısayol oluşturarak kullanabili,rsiniz. Bu size kısayola simge atama imkanı sağlayacaktır. Kısayolun simgesini nasıl değiştireceğinizi bilmiyorsanız buradan yardım alabilirsiniz. Kısayola atayacağınız simge dilediğiniz bir simge olabilir. Uygun bir simgeniz yoksa simge adresi olarak %SystemRoot%\System32\sdcpl.dll adresini kullanın. Sonuç: (Sağdaki resim)




Güncelleme: Eğer her çalıştırdığınızda tam bir yedekleme yapılmasını ama eski yedeğin üzerine yazılmamasını istiyorsanız her yedek aldığınızda yeni bir klasör (Oluşturulduğu tarihin adını taşıyan) oluşturulmasını sağlayabilirsiniz. Örneğin;

  • 20151223
  • 20151224

Ancak yedekleyeceğiniz dosya boyutu fazlaysa bu işlemin zamanla diskinizi dolduracağını da göz önüne alın. Bu işlemi yapabilmek için oluşturduğunuz bat dosyasının başına şu komutları eklemeniz gerekiyor;
@echo off
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"

set "datestamp=%YYYY%%MM%%DD%"

Ayrıca yedekleme klasörünün adresi de şu formatta olması gerek:
  • yedekleme_klasörünün_adresi\%datestamp%

Örneklendirmek gerekirse; C sürücüsündeki Enpedi klasörünü D sürücüsündeki Yedek klasörüne her çalıştırdığımda çalıştırdığım günün adını taşıyan bir klasöre ayrı ayrı yedeklenmesi için şöyle bir script oluşturmam gerekiyor;
@echo off
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"

set "datestamp=%YYYY%%MM%%DD%"
Robocopy C:\Enpedi D:\Yedek\%datestamp%
pause

Eğer tam yedekleme değilde sadece değişen dosyaların yeni bir klasöre kopyalanmasını istiyorsanız sonuna /MAXAGE:X anahtarını eklemeniz yeterli. (X) yerine gün sayısı yazacaksınız. Örneğin /MAXAGE:10 yazarsanız sadece son 10 gün içinde oluşturulan yeni dosyalar yeni bir klasöre kopyalanır. Örneğin;
@echo off
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"

set "datestamp=%YYYY%%MM%%DD%"
Robocopy C:\Enpedi D:\Yedek\%datestamp% /MAXAGE:10
pause
Otomatizasyon;

          Bu yedeklemeyi bir takvime veya zamanlamaya bağlamak son derece kolay. Bunun için burada anlattığım gibi oluşturduğunuz script için bir görev oluşturmanız yeterli. Artık dosyalarınız sizin belirlediğiniz bir takvim veya zamanlama ile yedeklenecek;



ÇOK ÖNEMLİ UYARI!

          Eğer /mir komutunu uyguluyorsanız yedekleme lokasyonundan hiçbirşey silmeyin. /mir komutu senkronizasyonu çift taraflı yaptığı için hedef klasörden artık kullanmayacağınız birşeyi silmeniz ilk senkronizasyonda bu dosyayı kaynak klasörden de kurtarılamayacak bir şekilde silecektir.

         Dikkatli de olsanız "Tamam ben dikkate edeceğim hedef klasörden hiçbirşey silmeyeceğim" de deseniz tavsiyem dosyalarınız çok önemli ise /mir komutunu kullanmayın. Bu zaten var olan dosyaların üzerine yazaılarak yedeklenmesini, dolayısıyla sürenin uzamasını sağlar ama dosylarınız her zaman garantide olur.

Etiketler

Ağ ve İnternet (26) Arama (10) Aygıt Yöneticisi (8) Başlat Menüsü (13) Bildirim Alanı (7) Bilgilendirme (70) Bilgisayar kullanım geçmişini temizleme (12) Bulut Veri Yönetimi (4) Donanım (17) Dosya ve Klasörler (46) Dual Boot (13) Duyuru (2) Ebeveyn Denetimleri (1) Eşek şakaları (1) Ev Grubu (1) Gereksiz ipuçları (17) Geri dönüşüm Kutusu (5) Giriş seviyesi kullanıcı için (20) Görev Çubuğu (27) Görev Yöneticisi (1) Görev Zamanlama (7) Görünüm ve Kişiselleştirme (155) Güç seçenekleri (11) Güvenlik (41) Internet Explorer (20) İleri seviye kullanıcı için (23) İpucu (66) İzinler (22) Kısayol okunu kaldırma (1) Kısayol yazısını kaldırma (1) Kısayollar (61) Kitaplıklar (12) Kullanıcı Hesapları/Profilleri (19) Kullanışlılığı arttırma (84) Kurtarma Araçları (6) Lisans Yönetimi (6) Masaüstü arka planı (6) Multimedya/Eğlence (16) Nonpasaran (1) Ofis Programları (1) Ongörünümler (11) Onyükleme (15) Onyükleme esnasında sorun çözme (20) Onyükleme süreci (10) Optimizasyon (59) Oturum Açma/Kapama/Kilit Ekranı (15) Parolalar ve Parola sorunları (6) Performans (22) Programlar ve özellikleri (14) Sabit Disk (18) Sabit disk yönetimi ve bölümleme (35) Sağ Tuş "Gönder" Menüsü (5) Sağ tuş menüsü (38) Sağ Tuş Yeni Menüsü (2) Sanal Bellek (PageFile) (3) Sanal Makina/XP Mod (2) Sistem araçları (65) Sistem İzleme/Gözetleme (12) Sistem Onarımı (19) Sorun önleme (11) Sorunlar ve sorun çözümleri (96) Sürücü (Driver) (13) Uyku (1) Uyku devre Dışı (1) Uyku/Karma Uyku (6) Varsayılana dönme/Sıfırlama (21) Veri kurtarma (6) Veri yedekleme (11) Vitrin (5) Windows 7 (1) Windows 7 kurulumları hakkında herşey (40) Windows 7 TEMEL KONU (65) Windows Başlangıcı/Kapanışı (13) Windows Gezgini (39) Windows Gezgini Gezinti Bölmesi (21) Windows Live Essentials (8) Windows Media Center (6) Windows Media Player (6) Windows özellikleri/Bileşenleri (48) Windows Update (7) Yapışkan Notlar (2) Yedekleme ve Geri Yükleme (15)

Son yorumlar

Twitter

Facebook

İzleyiciler

Rastgele

item