Fichiers de sauvegarde / copie qui sont «en cours d'utilisation" ou "verrouillés" dans Windows (ligne de commande)
Si vous avez déjà essayé de copier un fichier qui est verrouillé par une autre application, vous avez probablement vu un message d'erreur similaires à "Le processus ne peut pas accéder au fichier car un autre processus a verrouillé une partie du fichier". Alors, comment voulez-vous la copier de toute façon?
Depuis XP, Windows a soutenu une technologie appelée Volume Shadow Copy, qui est utilisé pour alimenter la fonction de précédentes versions de Vista, ainsi que la restauration du système et les sauvegardes. Ce qu'il fait est de prendre un instantané temporaire du fichier ou du lecteur, puis permettre à une application de lire à partir de l'instantané même pendant d'autres applications sont d'accéder ou modifier le fichier.
Ce que nous pouvons faire est d'utiliser un utilitaire de ligne de commande appelé HoboCopy qui utilise ce service pour copier le fichier.
Comprendre les conditions préalables
HoboCopy et la plupart des utilitaires de sauvegarde d'autres font usage de deux services dans Windows, et vous aurez besoin de vérifier que ces services ne sont pas désactivés:
- Volume Shadow Copy
- Microsoft Software Shadow Copy Provider
Elles peuvent être laissées en démarrage manuel, donc ils n'ont pas besoin d'être exécuté à tout moment. Hobocopy débuteront les deux services automatiquement si nécessaire, et le service Volume Shadow Copy sera retourné au bout c'est fait.
Utiliser HoboCopy de sauvegarde / copie d'un fichier unique
La syntaxe est un peu bizarre, parce que HoboCopy est vraiment destiné à être utilisé pour sauvegarder un ensemble de dossiers. Nous pouvons l'utiliser pour la sauvegarde d'un fichier unique en passant l'argument filename à la fin.
Remarque: sur Windows Vista, vous aurez besoin pour lancer une commande en mode Administrateur invite en cliquant-droit sur l'invite de commande dans le menu Démarrer et en choisissant Exécuter en tant qu'administrateur.
Syntax:
hobocopy c: nom_répertoire d: BackupDirectory
Par exemple, je veux sauvegarder mes c: users Geek Mail fichier Outlook.pst à d: sauvegardes Outlook.pst. Voici la syntaxe que j'utiliserais:
C: > c hobocopy: users Geek Mail d: sauvegardes Outlook.pst
HoboCopy (c) 2006 Wangdera Corporation. hobocopy@wangdera.com
Démarrage d'une copie complète de c: users Geek mail à d: sauvegardes
Répertoire copié
Sauvegarde terminée.
Sauvegarde démarré à 01:57:28 09/03/2008, 09/03/2008 01:58:39 achevée.
1 fichiers (606,45 Mo, 1 annuaires) copié, 7 fichiers ignorés
Utiliser HoboCopy à la sauvegarde un répertoire entier
Une tâche beaucoup plus utile serait de sauvegarde mon dossier utilisateur en entier, sans doute pour un disque dur externe pour la garde. Pour cela, nous allons vous voulez ajouter un couple de ligne de commande arguments.
/full | Copiez tous les fichiers |
/skipdenied | Ignorez tous les messages de refus d'accès en raison d'erreurs permission. |
/r | Copie récursivement |
/y | Ne pas demander, il suffit de copier tout ce |
Syntax:
hobocopy / full / skipdenied / Y / rc: nom_répertoire d: BackupDirectory
Allons-y avec le même exemple, je veux faire une sauvegarde mon répertoire utilisateur en entier à d: sauvegardes , donc je voudrais utiliser cette commande:
hobocopy / full / skipdenied / Y / rc: users Geek d: sauvegardes
Cette commande va probablement prendre un temps très long à remplir, de sorte que vous pouvez faire une sieste ou quelque chose. A la fin, vous devriez avoir une copie presque parfaite de l'annuaire ... s'il ya des erreurs d'autorisation, vous serez alerté de fichiers qui n'ont pas de copie. De façon réaliste tous les fichiers dans votre répertoire utilisateur ne devrait pas avoir ce problème.
Utiliser HoboCopy de manière incrémentielle sauvegarde d'un disque
Hobocopy prend également en charge la sauvegarde de fichiers incrémentale, alors il ne copie que les fichiers qui ont changé depuis la dernière sauvegarde. Cela fonctionne la même manière que les services publics comme rsync, sauf hobocopy stocke la date la dernière sauvegarde dans un fichier que vous avez besoin de spécifier sur la ligne de commande.
/statefile=filename | Ce drapeau indique le fichier qui contient l'information la dernière sauvegarde. |
/incremental | Seuls copier des fichiers qui ont changé depuis la dernière copie complète. |
Syntax:
hobocopy / incrémentielle / statefile = filename / Y / rc: nom_répertoire d: BackupDirectory
Example:
hobocopy / incrémentielle / statefile = d: lastbackup.dat / Y / rc: users Geek d: sauvegardes
La première fois que vous exécutez cette commande, vous aurez besoin d'utiliser / plein au lieu de / incrémental, sinon vous obtiendrez une erreur parce que le fichier d'état n'a pas encore été créé. Après que vous pouvez exécuter la sauvegarde incrémentielle avec le commutateur / incrémentale.
Ce serait un excellent moyen de sauvegarder automatiquement un ensemble de dossiers dans le cadre d'une tâche planifiée.
Commentaires
Enregistrer un commentaire