Backup automatique des données de thunderbird

jpp -  
barnabe0057 Messages postés 14455 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
A voir également:

3 réponses

barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 
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
1
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 
0
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 
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.
0
barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 
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 ;)
0