J'essaie de copier un fichier de sauvegarde de base de données volumineux sur le réseau.
La copie de programme traditionnelle ou xcopy
a échoué avec un résultat binaire différent. Également essayé robocopy
sans paramètre et a abouti à un échec. Je viens de faire une autre tentative avec robocopy
en utilisant le paramètre /zb
(mode de redémarrage et de sauvegarde). Cela a pris beaucoup plus de temps mais a abouti à un succès.
Ma question est la suivante: le mode de sauvegarde est-il vraiment conçu pour copier des fichiers volumineux/de sauvegarde? J'ai cherché dans le réseau et je n'ai pas trouvé de réponse claire. J'apprécierais si un utilisateur expérimenté pouvait me donner un indice ou une meilleure solution.
Je veux juste partager une mise à jour sur la résolution du problème ci-dessus.
Dans mon cas, xcopy
n'a pas réussi à copier le fichier sur 10 Go sur des serveurs situés dans un domaine et un emplacement de serveur différents.
De l'autre côté, robocopy
avec
/zb
- Utilise le mode Redémarrage. Si l'accès est refusé, cette option utilise le mode de sauvegarde.
peut copier avec succès. Il a cependant augmenté le temps de 1 heure à 2,5 heures.
-
Une fois le serveur réorganisé, le fichier est maintenant copié sur plusieurs serveurs du même domaine et du même emplacement. Et utiliser xcopy
est également correct.
-
Donc, ma théorie à ce sujet concernerait probablement la connexion de stabilité entre les serveurs. Si la connexion n’est pas robuste (avec parfois des interruptions provoquant un problème d’accès), lors de la copie d’un fichier volumineux comme dans mon cas, une corruption risque de se produire à tout moment du processus. robocopy
avec redémarrage et sauvegarde peut très bien récupérer la copie. Le temps passé à récupérer est probablement l'inconvénient.
De plus, FTP devrait être utilisé à la place de la copie s'il s'agit d'une tâche courante.
Le mode de sauvegarde est un moyen de lire et d'écrire des fichiers en ignorant les problèmes d'autorisations.
Il utilise les variables SeBackupPrivilege
(lecture) et SeRestorePrivilege
(écriture) pour lire/écrire tous les fichiers, sans tenir compte des ACE qui vous empêcheraient de lire ou d'écrire un fichier.
Normalement, lorsque vous tentez de copier ou d’accéder à un fichier, Windows vérifie que vous êtes autorisé à lire ou à écrire dans un emplacement, mais avec SeBackupPrivilege
(attribué aux groupes Opérateurs et Administrateurs de sauvegarde) et SeRestorePrivilege
(également attribué aux Opérateurs de sauvegarde). et Administrateurs), ces vérifications sont ignorées.
Pour vérifier si votre compte dispose de ces privilèges, vous pouvez exécuter la commande whoami /priv
à l'invite de commande.
Je vous suggère fortement de créer un instantané et de sauvegarder le système de fichiers maintenant au repos. Vous pouvez ensuite exécuter robocopy rapidement à l’aide de/J (E/S non mises en mémoire tampon pour les fichiers volumineux). Voici un script pour créer un cliché instantané de C: qu’il appelle P :. Ce lecteur (P :) est une image statique du lecteur C: idéale pour les sauvegardes. Nous utilisons cette technique pour copier des images de disque de machine virtuelle actives sur un lecteur de sauvegarde.
Ce qui suit utilise quatre fichiers de script:
diskshadow -s cleanup.cmds
diskshadow -s diskshadow.cmds
UNEXPOSE P:
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
REM do the ROBOCOPY commands here, with the source being P:, the shadow of C:
Notez que Windows Server 2016 (et éventuellement d'autres versions) exécute un cliché instantané deux fois par jour au cours de la semaine, ce qui entraîne le blocage du cliché instantané créé ci-dessous. Assurez-vous que cette technique de sauvegarde ne se superpose pas à ces commandes shadow programmées automatisées.