Windows Server Backup (WSB) Windows Server 2008 ile beraber hayatımıza giren ve ücretsiz olarak sunulan bir araçtır.( Windows Server 2003 de NT Backup olarak biliyorduk). Bu araç sayesinde dosya veya uygulamalarımızın yedeğini alabildiğimzi gibi Bare-Meral teknolojisi sayesinde işletim sistemi imjanıda alabiliyoruz. Ancak zamanlanmış görevlerde zaman ayarlarını her gün çalışacak şekilde olduğunu göreceksiniz. Yani eğer ara yüz kullanarak zamanlanmış ve örneğin günlük değil de haftada bir veya ayda bir gibi bir zaman dilimi seçemiyorsunuz. Zamanlanmış yedekleme seçeneği olarak sadece günlük sunuluyor. Ancak tabiki bunu çözmenin başka yöntemleri bulunmaktır. Bu noktada Windows Server Backup Command Line Tool (WBADMIN) ve Windows Task Scheduler (SCHTASKS) kullanabiliriz.
Bir kaç örnek yapmak gerekir ise
SCHTASKS /Create /SC WEEKLY /D <Day Of Week> /TN <TaskName> /RL HIGHEST /ST <StartTime> /TR <Windows Server Backup Command>
SCHTASKS /Create /SC WEEKLY /D SAT /TN WeeklySystemStateBackup /RL HIGHEST /ST 19:00 /TR “WBADMIN START SYSTEMSTATEBACKUP -backupTarget:I: -quiet >> C:\backupLogs.txt”
Yukarıdaki komut seti sayesinde haftalık olarak SystemState yedeği alabiliriz. Bu komut her cumartesi saat 19:00 da systemstate yedeğini I dizinine yazacak ve log dosyası C dizininde olacaktır.
SCHTASKS /Create /SC WEEKLY /MO <WeekFrequency Modifier> /D <Day Of Week> /TN <TaskName> /RL HIGHEST /ST <StartTime> /TR <Windows Server Backup Command>
SCHTASKS /Create /SC WEEKLY /MO 2 /D SUN /TN OnceInTwoWeeksFullBackup /RL HIGHEST /ST 01:00 /TR “WBADMIN START BACKUP -backupTarget:J: -allCritical -quiet >> C:\backupLogs.txt “
Yukarıdaki komut ise haftalık backup alınacak ancak iki haftada bir pazar günleri saat 01:00 de ve tüm kritik dizinler J dizinine yedeklenecek.
Burada geçen allCritical aslında BareMetal anlamına gelir ancak bazen aşağıdaki gibi yazılışları da görebilirsiniz
wbadmin start backup -allcritical -systemstate -backuptarget:Q: -vssfull
Aslında systemstate eklemenize gerek yoktur, ancak bunun eklemeniz demek bir durumda baremetal full yedek dönmeden sadece system state dönmenizi sağlar.
vssfull keza gerekli değildir, buradaki amaç bir uygulamayı birden çok yedekleme yazılımı ile yedekliyorsanız yedekleme stratejileri bir birini etkilemesin diye vsscopy seçilir ki varsayılan olarak windows server backup zaten vsscopy olarak yedek alır yani dosyaları etkilemez.
Yine komutlarda geçen RL – HIGHEST ise, bu işlerin “with highest privileges” yani “Run as administrator” hakkı tanımak içindir. Eğer arayüzden tanımlama yapıyorsanız arayüzde, task security özelliklerinde “Run with highest priviledges” kutucuğunu işaretlemeniz gereklidir.
Log yazdırmak önemli, çünkü eğer o zamanda başka bir yedek işi var ise hata alırsınız ve görmeniz gereklidir.
Komut seti üzerinden yaptığımız zamanlama Windows Server Backup ara yüzünden görünmez.
Yedek lokasyonu olarak network path verirseniz versiyonlama olmaz, yani sürekli olarak en son yedek dosyası tutulur.
Son olarak eğer yedek aldığınız disk için VSS size değiştirmek isteyebilirsiniz bunun için ise aşağıdaki komutu kullanabilirsiniz
shadowstorage /for=<BackupTarget> /on=<BackupTarget> /maxsize=UNBOUNDED
Örneğin
vssadmin resize shadowstorage /for=C: /on=D: /maxsize=UNBOUNDED
for: hangi volume için storage space değiştirilmek isteniyor ise
to: C yedeklerinin VSS sürecinde kullanılacak olan disk örneğin C yedekleri için D diskini kullandırabilirsiniz.
vssadmin add shadowstorage /for=c: /on=d: /maxsize=900mb
Eğer unbounded seçerseniz bu durumda diskinizi sonuna kadar VSS için kullanacağından sonra bir sorun yaşarsanız aşağıdaki komut ile bir kontrol etmek gerekli
vssadmin list shadowstorage
Örnek çıktı
Shadow Copy Storage association
For volume: (C:)\\?\Volume{93184455-e50f-11e4-824f-806e6f6e6963}\
Shadow Copy Storage volume: (C:)\\?\Volume{93184455-e50f-11e4-824f-806e6f6e6963}\
Used Shadow Copy Storage space: 5,50 GB (2%)
Allocated Shadow Copy Storage space: 5,90 GB (2%)
Maximum Shadow Copy Storage space: 9,52 GB (4%)
Burada önemli olan 3 satırdır, ne kadar alan kullandığı noktası, diğer önemli nokta ise son satır yani Maximum Shadow Copy Storage space, bu eğer unbounded ise bunu değiştirmek isteyebilirsiniz
Peki bu alanı kim nasıl kullanıyor görmek için aşağıdaki komutu kullanabilirsiniz
vssadmin list shadows
Contents of shadow copy set ID: {df1141ff-623f-4f14-b05d-3b341593c835}
Contained 1 shadow copies at creation time: 30.6.2015 20:07:20
Shadow Copy ID: {a8e28fb6-f383-4acb-94ed-e93c05a2512c}
Original Volume: (C:)\\?\Volume{93184455-e50f-11e4-824f-806e6f6e6963}\
Shadow Copy Volume: \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy1
Originating Machine: SCARLET
Service Machine: SCARLET
Provider: ‘Microsoft Software Shadow Copy provider 1.0’
Type: ClientAccessibleWriters
Attributes: Persistent, Client-accessible, No auto release, Differential, Auto recovered
Size’ ı sınırlandırmak için örnek komut
vssadmin resize shadowstorage /for=C: /on=C: /maxsize=50GB