Sauvegarde des répertoires
Les applications QALITEL / Epistolaire indexent des documents envoyés par les utilisateurs. Il est donc impératif de les intégrer dans les processus de sauvegarde.
Les répertoires à sauvegarder pour les différentes applications sont les suivants :
QALITEL :
Répertoire des documents : /APP/DOCUMENTS/ Répertoire des états (modèles d'impression) : /APP/ETATS/
Epistolaire :
Répertoire des documents en attente d'indexation : /APP/ATTENTE/ Répertoire des documents : /APP/DOCUMENTS/ Répertoire des états (modèles d'impression) : /APP/ETATS/ Répertoire des bases archivées : /APP/ARCHIVES_BASE/
Vous trouverez ci-dessous des exemples de scripts permettant d'effectuer des copies de répertoires. Ces scripts sont à copier dans un fichier texte d'extension .BAT.
Vous pouvez ensuite créer une tâche planifiée lançant périodiquement ce fichier .BAT. le processus de création de la tâche planifiée est similaire à celui décrit pour les planifications des tâches GAE et Synchronisation LDAP. Vous devez simplement choisir comme application la commande prompt comme le montre la copie d'écran ci-dessous :
Ensuite dans la fenêtre des Propriétés de la tâche planifiée, complétez la ligne Exécuter en saisissant le chemin et le nom complet du fichier .BAT tel que montré ci-dessous :
C:\WINDOWS\system32\cmd.exe /K "c:\scoqi\scripts\copie.bat"
Vous trouverez ci-dessous des exemples de scripts permettant d'effectuer des sauvegardes de répertoires.
1. Copie simple d'un répertoire
2.
Cette ligne de commande permet d'effectuer une copie d'un répertoire sans notion d'incrémentation. Les exécutions successives de ces scripts remplaçant les données copiées préalablement.
:: Copie non compressee d un répertoire set rep_source=C:\scoqi\qalitel\app\documents set rep_sauvegarde=C:\scoqi\backup_documents xcopy %rep_source% %rep_sauvegarde% /E /H /I /V
Script permettant la copie d'un répertoire avec gestion des erreurs :
:: Copie non compressee d un répertoire avec gestion des erreurs @echo off set rep_source=C:\scoqi\qalitel\app\documents set rep_sauvegarde=C:\scoqi\backup_documents xcopy %rep_source% %rep_sauvegarde% /E /H /I /V if errorlevel 4 goto pbmemoireif errorlevel 2 goto annuler if errorlevel 0 goto fin :pbmemoire echo Memoire insuffisante pour copier les fichiers ou echo lecteur non valide ou erreur de syntaxe. goto fin :annuler echo Copie annulee par utilisateur - Ctrl C goto fin :fin
3. Copie compressée d'un répertoire
4.
Sous Windows, il est nécessaire, pour pouvoir réaliser un ZIP en ligne de commande, d'installer un utilitaire le permettant. L'application 7-Zip le permet. Vous pouvez la télécharger sur le site officiel http://www.7-zip.org ou sur notre site : Version 32 bits - Version 64 bits
Après installation, il est nécessaire de mettre le répertoire 7-zip dans le PATH de Windows si vous souhaitez entrer les commandes telles que montrées ci-dessous sinon il vous faudra indiquer le répertoire de stockage de 7-zip.
La ligne de commande à intégrer à votre fichier .BAT est :
:: Compression d un repertoire dans un fichier ZIP set nom_fichier=backup.zip set rep_source=C:\scoqi\qalitel\app\documents set rep_sauvegarde=C:\scoqi\backup_documents 7z a %rep_sauvegarde%\%nom_fichier% %rep_source%
5. Copie compressée incrémentale d'un répertoire
6.
Ce script permet de compresser un répertoire et d'intégrer dans le nom du fichier ZIP la date de manière à disposer d'une sauvegarde incrémentale.
Les lignes de commandes à intégrer à votre fichier .BAT seraient alors :
set nom_fichier=backup%DATE%.zip set nom_fichier=%nom_fichier:/=% set rep_source=C:\scoqi\qalitel\app\documents set rep_sauvegarde=C:\scoqi\backup_documents 7z a %rep_sauvegarde%\%nom_fichier% %rep_source%
7. Suppression des fichiers dont la date est supérieure à 15 jours
8.
Ce script va permettre de supprimer les vieux fichiers dont la date de création est antérieure à 15 jours. De ce fait, dans notre répertoire /backup, il n'y aura que les backups des 15 derniers jours.
Ce script s'appuie sur l'utilitaire FORFILES. Des informations détaillées sur cet utilitaire sont disponibles ici
set rep_sauvegarde=c:\scoqi\backup_documents set nb_jours=15 FORFILES /p %rep_sauvegarde% /s /m *.* /d -%nb_jours% /c "cmd /c del @FILE"
9. Création d'une tâche planifiée en script
10.
La création des tâches planifiées peut se faire en utilisant l'interface graphique (raccourci Création d'une tâche planifiée à partir de la liste des tâches planifiées). Il est également possible de les créer en script. Ci-dessous un exemple de script créant la tâche planifiée pour l'exécution d'un .BAT (cette commande peut bien sûr s'appliquer aux tâches du GAE ou de la synchronisation LDAP) :
schtasks /create /tn "sauvegarde_sql" /tr c:\scoqi\scripts\backup_sql.bat /sc daily /st 23:00 /ru nom_utilisateur /rp mot_de_passe
- /tn
- Nom de la tâche planifiée
- /tr
- Ligne de commande complète
- /sc
- Périodicité
- /st
- Heure de déclenchement
- /ru
- Nom du compte Windows sous lequel sera exécutée la tâche planifiée
- /rp
- Mot de passe du compte Windows précédemment mentionné