Forum Clubic

Sauvegarde avec envoi de mail pour confirmation?

Bonjour,

j’ai mis en place une tache planifiée sous Windows qui copie des fichiers sur un autre poste afin de les sauvegarder . Le souci c’est que je ne peux pas savoir si la tâche c’est bien lancée ou pas .

C’est pourquoi je souhaiterais pouvoir recevoir un mail m’indiquant soit ok quand la tache c’est correctement déroulée soit un message quand la tâche ne c’est pas lancée ou pas terminé correctement.

Est il possible de faire cela?

Et si c’est oui avec quel outil (fichier BATCH ou autres)?

Merci a tous pour l’aide que vous m’apporterer.

Bonjour,

Par mail ou créer un fichier de log qui te dis le résultat de la tâche c’est faisable.

Une piste :

Le script doit se trouver sur le poste ou sont sauvegardés les fichiers. Tu fais un script qui compte le nombre de fichiers ou la taille.

Et tu inscrit le résutlat dans un fichier de log ou txt présent sur le pc d’ou sont sauvegardés les fichier et tu le lances à ton ouverture de session

j’ai la solution à ton problème !

par exemple, dans ton script Batch de sauvegarde, lorsque tu copie les fichiers, fait en sorte que la dernière action du programme soit
l’affichage d’un message !

je m’explique…
dans un fichier .Bat classique, on va trouver :
@echo off
echo.
echo BIENVENUE DANS LA SAUVEGARDE DE l’ORDINATEUR XY
echo.
xcopy c:\mes documents x:\sauvegarde-de-XY\mes documents
etc etc
puis en bas, tu mets :
NET SEND XY sauvegarde terminee avec succes ! (sachant que XY est le nom du poste)
exit

ce qui fait qu’à la fin de chaque sauvegarde sera affiché sur ton ordinateur :
http://img255.imageshack.us/img255/8803/clubic2eu5.jpg

tu peux afficher le même message sur les deux postes, pourquoi pas ?..
tu rajoutes juste la ligne NET SEND PC2 Sauvegarde OK ! et le tour est joué

en espérant t’avoir éclairé …
Bonne soirée

L’utilitaire suivant semble bien remplir ton cahier des charges :
www.clubic.com…

Merci a vous tous.

Mophorpse : Les postes étant distants et dans plusieurs sites, les fichiers logs (que j’ai déjà) ne me suffisent pas ou alors il faudrait qu’ils puissent être envoyer par mail .

Artafak : effectivement c’est une bonne idée mais qui dans mon cas ne me suffit pas car les postes sont distants donc je ne peux pas voir le message qui s’affiche.

AdminOfPlaygroup : Je ne peux pas utiliser de softs juste des fichiers BATCH.

Voici une piste qui m’a été donné très gentillement dans un autre forum avec SendMail mais qui pour le moment ne fonctione pas car je ne reçois pas le mail.

[CODE]:: ^01 est remplace par le nom de la machine server

@echo off
@prompt $s

::declaration variables
::Naxos_path variable à modifier pour changer le chemin du dossier exemple
@set Naxos_path=program files\exemple
@set Naxos_srv_path=^01

:: Mail
@set mail_server=smtp.exemple.fr
@set mail_to=toto@exemple.fr
@set mail_from=%COMPUTERNAME%@exemple.fr

if exist “C:%exemple_path%\Bat\Courant\Secours.bat” goto C00
if exist “D:%exemple_path%\Bat\Courant\Secours.bat” goto D00

@set ERREUR=0

:C00
@ECHO . [-------------------------------------------------------]
@ECHO . [ Secours.bat ]
@ECHO . [ ]
@ECHO . [ Copie de fichiers en cours ]
@ECHO . [ Veuillez patienter… ]
@ECHO . [-------------------------------------------------------]
@XCOPY \%exemple_srv_path%\exemple*.* “C:%exemple_path%\Secours” /S /E /D /C /Y 2> %TMP%\backup.log
IF %ERRORLEVEL% GEQ 1 set ERREUR=1
@XCOPY \%exemple_srv_path%\photos*.* “C:%exemple_path%\Secours” /S /E /D /C /Y 2>> %TMP%\backup.log
IF %ERRORLEVEL% GEQ 1 set ERREUR=1
@XCOPY \%exemple_srv_path%\documents*.* “C:%exemple_path%\Secours” /S /E /D /C /Y 2>> %TMP%\backup.log
IF %ERRORLEVEL% GEQ 1 set ERREUR=1
@ECHO . [-------------------------------------------------------]
@ECHO . [ Secours.bat ]
@ECHO . [ ]
@ECHO . [ Operation terminee ]
@ECHO . [-------------------------------------------------------]
GOTO END
:D00
@ECHO . [-------------------------------------------------------]
@ECHO . [ Secours.bat ]
@ECHO . [ ]
@ECHO . [ Copie de fichiers en cours ]
@ECHO . [ Veuillez patienter… ]
@ECHO . [-------------------------------------------------------]
@XCOPY \%exemple_srv_path%\Naxos*.* “D:%exemple_path%\Secours” /S /E /D /C /Y 2> %TMP%\backup.log
IF %ERRORLEVEL% GEQ 1 set ERREUR=1
@XCOPY \%exemple_srv_path%\photos*.* “D:%exemple_path%\Secours” /S /E /D /C /Y 2>> %TMP%\backup.log
IF %ERRORLEVEL% GEQ 1 set ERREUR=1
@XCOPY \%exemple_srv_path%\documents*.* “D:%exemple_path%\Secours” /S /E /D /C /Y 2>> %TMP%\backup.log
IF %ERRORLEVEL% GEQ 1 set ERREUR=1
@ECHO . [-------------------------------------------------------]
@ECHO . [ Secours.bat ]
@ECHO . [ ]
@ECHO . [ Operation terminee ]
@ECHO . [-------------------------------------------------------]
GOTO END
IF %ERREUR% LSS 1 goto QUIT
set YYYYMMDD=%DATE:~6,4%%DATE:~3,2%%DATE:~0,2%
sendmail /s %mail_server% /f %mail_from% /t %mail_to% /j "[%COMPUTERNAME] Erreur de sauvegarde %YYYYMMDD% " /m %TMP%\backup.log

::Recupere IP du poste
for /f “tokens=1-2 delims=:” %%i in (‘ipconfig ^| find “Address”’) do set IP=%%j

:QUIT
:END[/CODE]

Merci