Backup incrémental simplifié

Dans la première partie, nous avons vu comment réaliser un backup simple et efficace en utilisant un archiveur.

Dans ce cas une archive est créée pour chaque backup. Cette solution est la plus sûre, elle permet de remonter dans le temps pour retrouver des fichiers modifiés et dont on voudrait retrouver la forme originale.

Le backup incrémental n'a pas cet avantage mais il permet d'économiser l'espace et convient pour des sauvegardes plus fréquentes.

La principale différence dans le code est que nous n'avons plus à créer un nom de fichier et cela nous dispense d'obtenir la date et l'heure, et des les localiser.
Le nom de l'archive est donné dans le code source.

La commande de l'archiveur est modifiée, on utilise la code "u" pour update (mise à jour) à la place de "a" pour ajouter.

text command = "7z u -tzip $target " 

Utilisation du programme

Extraire le contenu de l'archive à la racine du disque. Le script sera accessible en ligne de commande dans le répertoire /seb/.

Placer 7z.exe et 7z.dll dans un répertoire pris en compte par la variable PATH, ce qui permet de lancer ces programmes depuis n'importe quel répertoire. Cela peut être dans le répertoire /seb/.

Comme dans le cas d'un backup simple, on assigne le liste des fichiers à sauvegarder dans le tableau "saving".

array saving = [
....noms séparés par une virgule
]

Exemples:

array saving = [
"w:/scriptol.com/", 
"p:/scripts/"
] 

Choisir éventuellement un nom pour l'archive. Par défaut elle s'appelle "backup-incremental.zip".

  text archive = "backup-incremental"  

Exécuter le script en indiquant un disque ou répertoire de destination. Si le répertoire n'existe pas il sera automatiquent créé.

Commande en JavaScriot:

node sebi.js d:

Commande en PHP:

php sebi.php d:/temp/

Récupérer les fichiers sauvegardés

Comme cela est expliqué dans la première partie, on peut récupérer tout ou partie des fichiers sauvegardé soit en ligne de commande, soit avec un gestionnaire d'archive ou directement avec l'explorateur de Windows.

Télécharger le script