Sauvegarde Carte+ automatique

De INDYWiki

Ce billet décrit comment, à l'aide d'une tâche planifiée Windows, on peut systématiser la sauvegarde des données Carte+

Prérequis

  • Avoir accès au serveur Carte+ et au mot de passe administrateur de la machine
  • Sur le ftp qui va accueillir les données, disposer d'un accès en écriture au chemin /07_Dossiers_clients/JolieVille/Sauvegarde

Installation

Créer un fichier SauvC+.bat, au même niveau que le dossier Fichiers de l'installation Carte +, dont le contenu est le suivant :

@Echo OFF

SET Client=%1
SET Nom=%Client%_%DATE:~6,4%%DATE:~3,2%%DATE:~0,2%

CD /D %~dp0

::Téléchargement des outils
IF EXIST "%~dp07za.exe" goto :dl2
powershell -Command "(New-Object System.Net.WebClient).DownloadFile('http://indywiki.fr/DADSU/7za.exe','%~dp07za.exe')"

:dl2
IF EXIST "%~dp0WinSCP.7z" goto :compression
powershell -Command "(New-Object System.Net.WebClient).DownloadFile('http://indywiki.fr/DADSU/WinSCP.7z','%~dp0WinSCP.7z')"


::Création de l'archive compressée
:compression
7za a -y %Nom%.7z -ssw ".\Fichiers\*" -x!*.ndx -mx9
7za e -y WinSCP.7z


::Initialisation des infos de connexion au FTP
for /f "tokens=*" %%A in (infos.txt) do (
   SET Hote=%%A
   goto endf_0
)
:endf_0

for /f "tokens=* skip=1" %%A in (infos.txt) do (
   SET login=%%A
   goto endf_1
)
:endf_1

for /f "tokens=* skip=2" %%A in (infos.txt) do (
   SET mdp=%%A
   goto endf_2
)
:endf_2

:: Installation du client FTP puis upload de l'archive ...
winscp.com /command^
    "open ftp://%login%:%mdp%@%Hote%/"^
    "option confirm off"^
    "cd 07_Dossiers_clients\%Client%\Sauvegarde"^
    "put %Nom%.7z"^
    "exit" 

::Purge des outils
del /q *.exe winscp.* %Nom%.7z infos.txt
goto :EOF

::Fin de la partie
:EOF

Automatisation de la tâche

  1. Démarrer, Exécuter, taskschd.msc
  2. Action, Créer une tâche