Backup automatique des données de thunderbird
jpp
-
barnabe0057 Messages postés 14329 Date d'inscription Statut Contributeur Dernière intervention -
barnabe0057 Messages postés 14329 Date d'inscription Statut Contributeur Dernière intervention -
comment devrais-je faire pour programmer un backup automatique des données dans thunderbird?
merci d'avance
jpp
merci d'avance
jpp
3 réponses
-
Voilà une nouvelle version qui corrige un petit problème :
@echo off
set source=%APPDATA%\Thunderbird
set destination=D:\Sauvegarde Thunderbird
set retention=7
tasklist | find "thunderbird" && taskkill /IM thunderbird.exe /T
cls & echo. & color 0A
echo ****** La sauvegarde de THUNDERBIRD va commencer ******
echo.
ping -n 7 127.0.0.1 > nul
if %source:~0,2% EQU %CD:~0,2% (cd %source% || goto :eof) else (cd /d %source% || goto :eof)
if not exist "%destination%\%date:~6,4%%date:~3,2%%date:~0,2%" mkdir "%destination%\%date:~6,4%%date:~3,2%%date:~0,2%"
xcopy "Profiles" "%destination%\%date:~6,4%%date:~3,2%%date:~0,2%\Profiles\" /E /H /K /Y || goto :eof
cls & echo.
echo ****** Sauvegarde THUNDERBIRD OK ******
echo. & echo. & echo. & echo. & echo. & echo.
echo ****** Suppression des sauvegardes plus anciennes que %retention% jours ******
Setlocal enableextensions enabledelayedexpansion
for /f "tokens=*" %%A In ('dir /b /ad "%destination%\*.*"') do (
set /a archive=%%A
set /a decote=69
if %date:~3,2% EQU 3 (set /a decote=!decote!+2)
if %date:~3,2% EQU 5 (set /a decote=!decote!+1)
if %date:~3,2% EQU 7 (set /a decote=!decote!+1)
if %date:~3,2% EQU 10 (set /a decote=!decote!+1)
if %date:~3,2% EQU 12 (set /a decote=!decote!+1)
set /a cejour=%date:~6,4%%date:~3,2%%date:~0,2%
set /a result=!cejour!-!archive!
if !result! GEQ 70 (set /a result=!result!-!decote!)
if !result! GEQ %retention% (rmdir /s /q "%destination%\%%A")
)
Endlocal
ping -n 3 127.0.0.1 > nul
:eof -
Pour sauvegarder il faut copier ton profil dans la destination de ton choix.
Si tu veux automatiser tout ça, je peux te concevoir un script qui se chargera de ça.
Dis-moi juste dans quel dossier tu veux que j'envoie la sauvegarde. -
Voilà le batch :
@echo off
set source=%APPDATA%\Thunderbird
set destination=%USERPROFILE%\Documents\Sauvegarde Thunderbird
set retention=7
tasklist | find "thunderbird" && taskkill /IM thunderbird.exe /T
cls & echo. & color 0A
echo ****** La sauvegarde de THUNDERBIRD va commencer ******
echo.
ping -n 7 127.0.0.1 > nul
if %source:~0,2% EQU %CD:~0,2% (cd %source% || goto :eof) else (cd /d %source% || goto :eof)
if not exist "%destination%\%date:~6,4%%date:~3,2%%date:~0,2%" mkdir "%destination%\%date:~6,4%%date:~3,2%%date:~0,2%"
xcopy "Profiles" "%destination%\%date:~6,4%%date:~3,2%%date:~0,2%\Profiles\" /E /H /K /Y || goto :eof
cls & echo.
echo ****** Sauvegarde THUNDERBIRD OK ******
echo. & echo. & echo. & echo. & echo. & echo.
echo ****** Suppression des sauvegardes plus anciennes que %retention% jours ******
Setlocal enableextensions enabledelayedexpansion
for /f "tokens=*" %%A In ('dir /b /ad "%destination%\*.*"') do (
set /a archive=%%A
set /a cejour=%date:~6,4%%date:~3,2%%date:~0,2%
set /a result=!cejour!-!archive!
if !result! GEQ %retention% (rmdir /s /q "%destination%\%%A")
)
Endlocal
ping -n 3 127.0.0.1 > nul
:eof
Tu peux modifier la troisième ligne (set destination= ) pour mettre le dossier de destination de ton choix.
J'ai mis en place une rotation des sauvegardes, celles antérieures à 7 jours sont supprimées.
Sur mon pc, j'ai crée une tâche via le "planificateur de tâches" qui exécute ce script tous les jours à la même heure.
J'espère que ça te conviendra ;)