Robocopy'de yedekleme modu nedir


19

Ağ üzerinden büyük bir veritabanı yedekleme dosyası kopyalamaya çalışıyorum.

Geleneksel program kopyası veya xcopyfarklı ikili ile başarısız sonuçlandı. Ayrıca robocopyparametresiz denendi ve bir hataya neden oldu. Sadece parametre (yeniden başlatma ve yedekleme modu) robocopykullanarak başka bir girişimde bulundu /zb. Çok daha uzun sürdü, ancak başarılı oldu.

Benim sorum, yedekleme modu gerçekten büyük / yedek dosyayı kopyalamak için tasarlanmış mı? Net üzerinden arama yaptık ve net bir cevap bulamadık. Deneyimli herhangi bir kullanıcı bana bir ipucu veya daha iyi bir çözüm verebilir eğer takdir ediyorum.


Xcopy ve robocopy'nin verileri A'dan B'ye gerçekte nasıl kopyaladığı arasında çok az fark vardır, bu nedenle xcopy üzerinde robocopy kullanmak kazara veri bozulması olasılığınızı azaltmaz. Bu, xcopy'yi kullandıktan sonra farklı bir ikili programa sahip olduğunuz anlamına gelir, çünkü DB kopyalanırken değiştirilmiştir. "/ Z" bayrağının burada bir önemi yoktur (yalnızca robokopinin dosyanın mevcut kısmı üzerinden atlayıp atlamayacağını kontrol eder), ve kaynak dosyayı açarken temel olarak uygulamanın istediği izinleri kontrol eden "/ B" bayrağı gibi.
Angstrom

@ Cevabınız için teşekkürler İkili fark, kopyalanan statik bir yedekleme dosyası (zaten veritabanından ayrılmış) olduğu için değişen bir DB'den değildir. Doğru olduğuna inanıyorum / ZB daha sağlam kopya için kasıtlı bir şey yapmıyor, ancak yeniden başlatılabilir bayrak daha doğru bir ikili yazma yapıyor gibi görünüyor (çok daha uzun sürmesi ve aynı kopyayla sonuçlanması gerçeğinden). Veya yeniden başlatılabilirlik, kaybolan verilerin yeniden yazılmasını mümkün kılabilir.
ydoow

Yanıtlar:


12

Yedekleme modu, izin sorunlarını yok sayan dosyaları okuyup yazmanın bir yoludur.

Herhangi bir dosyayı okumak / yazmak için SeBackupPrivilege(okuma) ve SeRestorePrivilege(yazma) kullanır ve bir dosyayı okumanızı veya yazmanızı engelleyecek ACE'leri dikkate almaz.

Normalde bir dosyayı kopyalamaya veya bu dosyaya erişmeye çalışırken, konuma okuma veya yazma izniniz olduğundan emin olmak için SeBackupPrivilege(Yedekleme İşletmenleri ve Yöneticiler gruplarına verilir) ve SeRestorePrivilege(ayrıca Yedekleme İşletmenleri ve Yöneticilerine verilir) gruplar), bu kontroller atlanır.

Hesabınızın bu ayrıcalıklara sahip olup olmadığını kontrol etmek için, komutu whoami /privkomut isteminde çalıştırabilirsiniz .


Sadece soruyu kesin olarak cevaplayan cevap, teşekkür ederim. Sağlanan bilgiler için kaynaklar onu mükemmelleştirecektir.
Hashim

2

Yukarıdaki sorunun çözülmesiyle ilgili bir güncelleme paylaşmak yeterlidir.

Benim durumumda, xcopyfarklı etki alanı ve sunucu konumundaki sunucular arasında dosyayı 10GB'den fazla kopyalayamadı.

Diğer tarafta robocopyise

/zb- Yeniden Başlatma modunu kullanır. Erişim reddedilirse, bu seçenek Yedekleme modunu kullanır.

başarıyla kopyalayabilirsiniz. Ancak zamanı 1 saatten 2,5 saate çıkardı.

-

Sunucuyu yeniden düzenledikten sonra, dosya şimdi aynı etki alanı ve sunucu konumundaki sunucular arasında kopyalanır. Ve kullanmak da xcopyiyidir.

-

Dolayısıyla bu konudaki teorim muhtemelen sunucular arasındaki istikrar bağlantısıyla ilgili olacak. Bağlantı sağlam değilse (zaman zaman erişim sorununa neden olan bir durum söz konusu değilse), benim durumum gibi büyük bir dosyayı kopyalarken, uzun işlem sırasında herhangi bir zamanda bir bozulma olması muhtemeldir; robocopyile yeniden başlatma ve yedekleme oldukça iyi kopyasını kurtarabilirsiniz. İyileşme için harcanan zaman muhtemelen aşağı taraftır.

Yan not olarak, rutin bir görev olacaksa kopya yerine FTP kullanılmalıdır.


2

Kesinlikle bir anlık görüntü oluşturmanızı ve şimdi sessiz dosya sistemini yedeklemenizi öneririm. Daha sonra / J (büyük dosyalar için arabelleksiz G / Ç) kullanarak robokopiyi hızlı bir şekilde çalıştırabilirsiniz. İşte C: nin P: adını verdiği bir gölge kopyasını oluşturmak için bir betik. Bu sürücü (P :), yedeklemeler için mükemmel olan C: sürücüsünün statik bir görüntüsüdür. Aktif sanal makine diski görüntülerini bir yedek sürücüye kopyalamak için bu tekniği kullanıyoruz.

Aşağıdaki dört komut dosyası kullanır:

  • Disk gölge komutlarını tekmelemek için bir toplu iş dosyası
  • disk gölge komutları yok etmek sarkan pervazlar dahili toplu iş dosyası çöktüğünde önceki gölge
  • gölgeyi P olarak oluşturmak için bir dizi disk gölge komutu:
  • gölge etkinken yürütülecek bir dizi komut (P: etkinken yürütülen bir iç toplu iş dosyası)

1) işlemi başlatmak için toplu iş dosyası

diskshadow -s cleanup.cmds
diskshadow -s diskshadow.cmds

2) daha önce etkin bir gölgeyi yok etmek için gölge komut dosyası "cleanup.cmds"

UNEXPOSE P:

3) gölgeyi oluşturan ve daha sonra dördüncü dosyayı çağıran gölge komut dosyası "diskshadow.cmds"

SET CONTEXT PERSISTENT NOWRITERS
SET METADATA example.cab
SET VERBOSE ON
BEGIN BACKUP
ADD VOLUME C: ALIAS systemVolumeShadow
CREATE
EXPORT %systemVolumeShadow% P:
EXEC c:\yourlocation\backup.cmd
UNEXPOSE P:
END BACKUP
RESET

4) "backup.cmd" komut dosyası gölgede çalışacak

REM do the ROBOCOPY commands here, with the source being P:, the shadow of C:

Windows Server 2016'nın (ve muhtemelen diğer sürümlerin) haftada günde iki kez gölge kopya çalıştırdığını ve bu da aşağıda oluşturulan gölge kopyanın çökmesine neden olacağını unutmayın. Bu yedekleme tekniğinin bu otomatik zamanlanmış gölge komutlarıyla örtüşmediğinden emin olun.


0

@ Erict'in cevabını genişletmek için, anlık görüntüyü oluşturmak ve yok etmek için PowerShell'i nasıl kullanacağınız aşağıda açıklanmıştır:

$Drive = "D:\"
$Folder = $Drive + "ShadowCopy"

# Create the snapshot
$Snapshot = (gwmi -List Win32_ShadowCopy).Create($Drive, "ClientAccessible")
$Shadow = gwmi Win32_ShadowCopy | ? { $_.ID -eq $Snapshot.ShadowID }
$Volume = $Shadow.DeviceObject + "\"
cmd /c mklink /d "$Folder" "$Volume"

# Destroy the snapshot
cmd /c rd "$Folder"
$Shadow.Delete()

Bu, PowerShell uzaktan kumanda kullanılarak uzak bir makinede de çalıştırılabilir :

Enter-PSSession RemoteComputer

#
# Run snapshot commands here
#

Exit-PSSession
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.