Si vous cherchez comment cloner (aspirer) un site web en local, il existe des aspirateurs de sites internet.

Le plus connu s’appelle HTTACK il est open source et fonctionne bien.

C’est utile pour sauvegarder/archiver un site, faire un miroir (et le mettre à jour) ou bien lorsqu’il y a un besoin d’accéder à des contenus hors lignes.

Attention, il ne sauvegarde que le contenu visible d’un site web (HTML/CSS et images) donc évidemment pas de code server-side ni de backend.

La sauvegarde peut prendre du temps en fonction de votre connexion internet.

Sur les distributions basés sur debian on l’installe via

Après pour faire le faire fonctionner la syntaxe est:

Assez simple non ?

J’ai fait rapidement un petit script bash qui permet d’aspirer, archiver et compresser un site.

Il existe bien sûr une version pour Windows (WinHttrack)

Bref, utile pour sauver des petits bouts de web (blogs,…).

Voici un petit script batch (windows) créé par mes soins qui permet de faire un backup (archivage et compression) d’un répertoire, et de faire une rotation.

Ce script n’est pas directement utilisable, vous pouvez vous en inspirer, mais il ne fonctionnera pas sans adaptation de votre part.
N’hésitez pas à me faire parvenir vos feedback et améliorations.

Dépendances:

  • Robocopy (intégré à Windows)
  • 7Zip (libre à vous de changer)

Fonctionnalités:

  • Compression avec 7zip du répertoire donné
  • Stockage en local de l’archive
  • Stockage de l’archive sur un machine distante (copie miroir grâce à robocopy)
  • Rotation de sauvegarde (vous devez créer un fichier texte num.txt qui doit contenir 0)
  • Suppression des fichiers originaux après compression.

 

Bugs:

  • Sur certains systèmes Windows la commande date est à changer

Testé sous Windows Server 2012 R2, exécuté tous les jours grâce aux taches planifiées

 

 

Pour faire vos sauvegardes facilement et rapidement il existe un outil intégré à Windows qui s’appelle robocopy, il permet une multitude de choses.

Ici on va s’en servir pour faire une copie miroir d’un répertoire. Exemple:
robocopy <source> <destination> /MIR

Il fera vraiment une copie miroir en ignorant évidement les fichiers identiques.

Autre exemple:
robocopy <source> <destination> /MIR /XD <dossier à ignorer>

 

Concrètement:
robocopy C:\ D:\Backup\ /MIR /XD "System Volume Information" "$RECYCLE.BIN"

Copiera tout ce qui se trouve dans C: vers D:\Backup en ignorant les dossiers System Volume Information et Recycle.bin

Si vous faites cette commande à nouveau, il copiera uniquement les fichiers qui ont été changés ou ajoutés, et supprimera les fichiers qui ont été supprimés à la source.