Outil 7zip en ligne de commande, backup serveur et remplacement robocopy

Outil 7zip en ligne de commande, backup serveur et remplacement robocopy

Outil 7zip en ligne de commande, backup serveur et remplacement robocopy

12 499 views

Quand on souhaite mettre en place un backup pour un serveur ou 1 pc et que l’on souhaite des fonctionnalités avancées telles que la compression, le VSS et l’encryptage il ne reste guère de produits gratuits pour un petit serveur de fichiers de PME.

Combien de NAS ou de serveurs  en PME qui n’ont pour seul backup qu’une synchronisation de fichiers vers un disque externe. Le problème de cette façon faire, engendre pour moi 2 problèmes majeures : si le disque de backup est volé ou emprunté on accède à toutes les données de l’entreprise en clair, deuxièmement si cryptowall vous frappe et que vous ne vous en rendiez pas compte , la synchronisation efface les bonnes données par celles encryptées par le virus…bonjour la récup possible. On va donc avoir besoin pour tout backup que se respecte avoir besoin de l’encryptage pour le backup et de pouvoir faire des rotations sur par exemple 4 semaines.

Un outil freeware permet de faire tout ce qui s’appelle du backup de serveur de fichiers, c’est Cobian Backup qui d’ailleurs utilise 7zip si on valide la compression, mais l’outil vieillit et n’est plus maintenu. De plus il a, à mon goût un gros défaut, il utilise le VSS de Windows, bonjour certains plantages si on surveille pas régulièrement…

Je vous propose donc cette étude de 7zip en fichier batch qui vous sera votre backup serveur ou simplement un complément de votre logiciel de backup quelquefois capricieux.

 

REM constantes des repertoires
set FROMNAME=SOCIETE
set disksecours=G:
set repsecours=\secours
set disksource=F:\
REM repertoires a sauvegarder
set donnee1=COMMUN\
set donnee2=USERS\

REM on se met dans le bon repertoire de sauvegarde
%disksecours%
cd %disksecours%%repsecours%

REM se mettre dans le bon rep pour effacement des fichiers precedents
del *.7z
del *.txt
del *.tmp

REM horodatage du fichier
set timestamp=%DATE:/=-%_%TIME::=-%
set timestamp=%timestamp: =%

REM compression avec switches Archive -t7z type fichier -ssw fichier en utilisation -x! exclusion type fichiers -p mdp
"C:\Program Files\7-Zip\7z.exe" a -t7z -pPASSWORD -ssw "%disksecours%%repsecours%\%timestamp%-commun.7z" "%disksource%%donnee1%" -x!*.tmp >compLog.txt
"C:\Program Files\7-Zip\7z.exe" a -t7z -pPASSWORD -ssw "%disksecours%%repsecours%\%timestamp%-users.7z" "%disksource%%donnee2%" -x!*.tmp >compLog2.txt

REM test archive
"C:\Program Files\7-Zip\7z.exe" t -pPASSWORD "%disksecours%%repsecours%\*.7z" >testarchivesLog.txt

Quelques explications :
– le switch -ssw copie des fichiers en utilisation, un VSS pour les pauvres, par contre pour une base PST en utilisation ça marche pas.
– le switch -pPASSWORD encrypte l’archive en AES256, il aussi possible d’encrypter le nom des fichiers avec un switch supplémentaire
– en fin de ligne de commande j’exclue les temporaires. Les exclusions sont bizzares avec 7zip, pas évident d’exclure un repertoire en fait
-on pourrait pour améliorer ce script en faisant 2 choses : tester les fichiers complog.txt pour traquer des chaines de types ERROR, et enfin envoyer des emails avec ces erreurs avec blat par exemple.

 

About the author:

Ingénieur ENSEA, 15 ans Manager IT Support pour des grands comptes, maintenant Indépendant au sein de FRENCHYTECH, conseil en SI pour PME/TPE

  1. chr179  - 17 mai 2016 - 12 h 17 min

    super sympa comme scritp.
    perso j’ajoute la commande forfiles pour ciblé les fichiers de plus de 14 jours (avec T: comme disque de secours)
    forfiles /P T: -s -m *.* /D -14 /C « cmd /c del @path »

    • JM SAILLIO  - 17 mai 2016 - 21 h 12 min

      Merci @chr179, explique svp un peu plus, tu lances le 7zip après ta commande ? en tous cas intéressant pour programmer du différentiel.

Leave a comment

Back to Top