Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications
Applications Questions sur l'utilisation d'applications, du shell, et des interfaces graphiques (KDE, Gnome, XFCE... )
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 18/11/2009, 15h45   #1
Invité de passage
 
Inscription : mars 2009
Messages : 16
Détails du profil
Informations forums :
Inscription : mars 2009
Messages : 16
Points : 4
Points : 4
Par défaut un equivalent du Service Volume Shadow-Copy (VSS) sur Linux ?

Bonjour,
existe-t-il à votre connaissance sur Linux un outil équivalent au Service Volume Shadow-Copy (VSS) des système serveurs Windows ?
A savoir que cela permet de réaliser des clichés instantanés des fichiers et de pouvoir ainsi revenir une version antérieur d'un fichier. Selon l'espace réservé à cette fonction, cela permet par exemple, de faire un cliché toute les demi-journée, et de revenir à la version du matin, de la veille, etc...
cryptom est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/04/2010, 03h28   #2
Invité régulier
 
Développeur informatique
Inscription : mars 2007
Messages : 12
Détails du profil
Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : mars 2007
Messages : 12
Points : 9
Points : 9
Un petit UP, ça m'intéresse beaucoup ce genre de backup.

D'après ce que j'ai lu sur le net, il faut passer par un agent sur la machine windows (volume shadow copy ou advance open file).

Si quelqu'un a une idée
caledonien est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/06/2010, 16h11   #3
Invité régulier
 
Inscription : mai 2009
Messages : 2
Détails du profil
Informations forums :
Inscription : mai 2009
Messages : 2
Points : 7
Points : 7
Citation:
Envoyé par cryptom Voir le message
...
A savoir que cela permet de réaliser des clichés instantanés des fichiers et de pouvoir ainsi revenir une version antérieur d'un fichier. Selon l'espace réservé à cette fonction, cela permet par exemple, de faire un cliché toute les demi-journée, et de revenir à la version du matin, de la veille, etc...
Bon, je ne connais pas windows, mais sous linux sur un même disque tu dois pouvoir assez facilement faire un script qui se base sur une copie complète d'un répertoire.

Appelons le répertoire surveillé "répertoire sauvegardé" et appelons sa copie complète la "base".

Ton script va créer régulièrement un nouveau répertoire pour la sauvegarde puis le remplir avec chaque fichier de ton "répertoire sauvegardé" soit:
- en faisant un lien hard vers le fichier contenu dans la "base" si celui ci n'a pas été modifié.
- en copiant depuis le "répertoire sauvegardé" le fichier si celui-ci à été modifié

on avait fait ca dans la boite ou je bossais il y a 10 ans... je n'ai plus les scripts sous la main, mais c'était très simple: un peu de rsync et pas beaucoup de travail :o)

la seule contrainte est d'initialiser le truc avec une copie complète... donc ca prend minimum 2x la taille de ton répertoire puis ca grossi petit à petit au fur et à mesure que les fichiers sont modifiés... sinon, ca ne grossi presque pas (ca ne consomme que des descripteurs de fichiers)

Je n'ai jamais compris pourquoi personne n'a jamais intégré ce genre de fonctionnalités directement dans un système de fichiers... avec les gigas inutilisés dans tous les disques, la "corbeille" est un peu obsolète en fait...

hope it helps...
tenez nous au courant si vous ré-implémentez ce truc
lvictor est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 05/06/2010, 15h10   #4
Invité régulier
 
Développeur informatique
Inscription : mars 2007
Messages : 12
Détails du profil
Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : mars 2007
Messages : 12
Points : 9
Points : 9
Hehe effectivement, c'est une option qui devrait être integré sous linux.

Pour une fois Windows a de l'avance, car sous Win 2008, il gère de manière automatisé les snapshots des dossiers/fichiers, tu peux à tout moment, faire un clic droit sur le dossier et version précédente (et tu obtiens la liste des versions restaurable, tu peux descendre jusqu'au fichier), c'est vraiment top, nous ça nous as permit de rendre autonome les utilisateurs pour la restauration de documents.

Sinon sous Linux, faudrait tester DAR http://dar.linux.free.fr/ d'après la DOC DAR permet de faire des snapshots différentielles.

On test actuellement sinon VEEAM, fabuleux sous ESX pour faire de la replication de VM.

Sinon en parralèle à ces projets, je développe depuis 3 ans un script de Backup que j'utilise pour sauvegarder les sites distants, avec la même philosophie que tu expliquais, c'est à dire de :

- faire un backup d'un dossier et d'archiver les éléments supprimés dans un dossier à part (année/mois/jours/path_complet_de_la_source/nomFichier)

Voici le fichier de conf, si ça intéresse quelqu'un je le publierais :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
 
#!/bin/bash
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
# 22/05/2010 Ajout le support over ssh pour rsync
VER='0.18';
#************************************************#
#                   BCK120 v1.0                  #
#           written by Candir Vincent            #
#           Contact : 120@caledonien.org         #
#                July 18, 2007                   #
#                                                #
#       Script Avancé de Sauvegarde Linux        #
#************************************************#
#120 18/05/2007
#
# -- > La documentation se trouve dans "INSTALL, DOC/README & DOC/FAQ"
 
#################################################################
#             VOICI LES TROIS ETAPES :                          #
# ------------------------------------------------------------- #
# > ETAPE 1 -- > Activation des modules.                        #
# > ETAPE 2 -- > Paramètres globaux (nom du backup, ....)       #
# > ETAPE 3 -- > Configuration des modules.                     #
# ------------------------------------------------------------- #
#################################################################
 
					## C'est partie :) ##
 
#################################################################
# ------------ > ETAPE 1 -- > Activation des modules.           #
# --------------------------------------------------------------#
# Afin d'initialiser l'environnement de la sauvegarde,
# n'activez aucun module lors du premier lancement
# --------------------------------------------------------------#
# Si vous souhaitez activer un module, indiquez
# 				TRUE sinon FALSE
# - > Nom du Backup
BCK_NAME="SYNCRO_NAS";
 
#-- MODULES
# - > Synchronisation avec RSYNC ('fichiers/dossiers')
RSYNC="TRUE";
# - > Sauvegarde de vos 'fichiers/dossiers'.
EXTRA="TRUE";
# - > Sauvegarde MySQL
SQL="TRUE";
# - > Choix de l'ordre de lancement des modules.
# - > Défaut : (RSYNC EXTRA SQL)
ORDRE_LOAD=(SQL RSYNC EXTRA ROTATION STATS_SERVER);
 
#-- OUTILS
# Permet d'afficher des logs complets
# Si FALSE : alors uniquement les logs des modules seront affichés
FULL_LOG="TRUE";
# - > Permet d'afficher les paramètres de la sauvegarde dans le log.
#SHOW_STATUS="FALSE";
 
# - > Permet d'afficher le rapport (dans le shell) à la fin du traitement.
DEBUG="TRUE";
 
# Est-ce que le lancement du script doit comprendre un parametre ?
ARG_SCRIPT_1_OBLIGATOIRE="FALSE";
ARG_SCRIPT_1=;
 
# - > Notification par mail :
# - > TRUE : Envoi du mail automatiquement à la fin du traitement
# - > FALSE : Désactive la notification.
# - > ONLY_IF_ERROR : Envoi du mail uniquement en cas d'erreurs.
NOTIF_MAIL="TRUE"; # Défaut : TRUE
 
ROTATION="TRUE"; # - > Active la rotation/suppression des données après un certain délai.
STATS_SERVER="TRUE";   # - > Permet d'avoir des stats du serveur (HDD FREE, MEM FREE, ect ...)
 
# - > Permet de lancer un backup uniquement s'il y a suffisamment d'espace disque.
# - > Exemple : MIN_HDD_FREE=10, signifie que l'espace disque doit être supérieur à 10% pour démarrer
MIN_HDD_FREE=20;
 
# - > Souhaitez-vous qu'apparaisse dans les logs les password ?
SHOW_PASSWORD_LOG="TRUE";
 
# Synchroniser l'horloge system.
# -- > Serveur NTP (exemple : 2.oceania.pool.ntp.org)
# -- > Pour trouver un serveur dans votre zone : http://www.pool.ntp.org/
# - Le binaire < ntpdate >, doit être installé
#SRV_SYNC_NTP_TIME="ntp.mls.nc";
 
 
 
#####################################################################
# ------------ > ETAPE 2 -- > Init. des paramètres de la sauvegarde #
#####################################################################
 
# - > Répertoire racine des sauvegardes
# - > !!!  <> Les espaces seront automatiquement remplacés par des < _ >
# - > Ex : "/BCK120 TEST" devient "/BCK120_TEST"
VAR_CHROOT="/BCK120-nasnea01";
 
# - > Chroot de BCK120
VAR_BCK_CHROOT="/etc/init.d/bck120";
 
# - > Est ce que < VAR_CHROOT >, est un lecteur réseau ?
# - > Très pratique lors de montage d'une source externe (SMB,NFS,...)
# - > Si le lecteur réseau n'est pas trouvé en tant que dossier monté la sauvegarde sera interrompu.
VAR_CHROOT_MOUNT="FALSE";
ARG_SCRIPT_MOUNT=;
# Script de montage des lecteurs réseaux
#MOUNT_SHARE_SCRIPT="${VAR_BCK_CHROOT}/plugins/mount/mount_nasnea01.sh"
 
# PRE/POST de traitement
 
# - > Indiquer ici l'emplacement de vos scripts, ils seront lancés avant et après le backup
#PRE_TRAITEMENT="/home/caledonien/Bureau/SCRIPT/bck120/plugins/sync_dossier.sh bureau";
#POST_TRAITEMENT=(/etc/init.d/bck120/bck_sql.sh);
 
# - > Interrompre le backup si la valeur de retour est différente de zéro
STOP_SI_RETURN_FALSE='TRUE' # Défaut : TRUE
 
#ne pas modifier
source "${VAR_BCK_CHROOT}/lib-bash/function.sh"; if [ ${?} != 0 ]; then echo "DIE !! Probleme de chargement du fishier '${VAR_BCK_CHROOT}/lib-bash/function.sh'"; exit 1; fi; autoload_conf "${VAR_BCK_CHROOT}/init/init-start.sh";
#ne pas modifier
 
#########################################################
# ------------ > ETAPE 3 -- > Configuration des modules.#
#########################################################
 
#################################################################################
# ------------------------------------------------------------------------------#
# ~~~~~~~~ [ RSYNC ] ~~~~~~ > Synchronisation avec RSYNC ('fichiers/dossiers')  #
# ------------------------------------------------------------------------------#
#################################################################################
 
if [ "${RSYNC}" == "TRUE" ]
then
 # -- > Mode simulation (rien ne sera sauvegardé)
 SIMULATION_RSYNC="FALSE";
 
 # - > Source à sauvegarder
 # - > Exemple : BACKUP_FROM=(/home/ '/usr/mon dossier' /etc root@202.171.65.33:/dossier/distant );
 # /home/dossier_bck/srvweb 
 #BACKUP_FROM=(root@202.87.129.35:/var/www/html/120/task_sofinor /bla /home/test/good_over_ssh/backup_source/ );
 BACKUP_FROM=(/etc/init.d/bck120/modules );
 
 # -> Destination des sauvegardes SECONDAIRE
 # -> La destination par défaut est le dossier VAR_CHROOT (que vous avez renseigné plus haut)
 # -> Vous pouvez indiquer plusieurs destinations
 # -> Exemple : BACKUP_TO_BIS=(/home/usr '/mnt/ma destination' root@202.171.65.33:/dossier/distant)
 #BACKUP_TO_BIS=(root@202.87.129.35:/home/adel_BckOverSSH);
 #BACKUP_TO_BIS=();
 
 # - > Limiter la bande passante en kb/s
 BWLIMIT=;
 
 # - > FICHIERS EXCLUSION / INCLUSION
 # - > Indiquez l'emplacement des fichiers
 # - > Ces fichiers seront automatiquement créés lors du premier lancement, dans < CONF-USER/NOM_DU_BACKUP-(exclusion/inclusion) >
 EXCLUSION_RSYNC="";
 INCLUSION_RSYNC="";
 
 # Permet d'exclure un fichier en tant qu'argument au script
 # Exemple : < ./bck120.sh '*.pst' >
 # EXCLUSION_PERSO='*.pst'
 EXCLUSION_PERSO=${1}
 
 # - > Option de la commande RSYNC (hors "in/exclusions")
 # - > D'autres options interessantes (pour plus d'info <  >)
 # --perms                 preserve permissions
 # --times                 preserve times	
 # --size-only             skip files that match in size
 # --progress              show progress during transfer
 # --password-file=FILE    read password from FILE
 # --force                 force deletion of directories even if not empty
 # voir < man rsync >
 OPTION_RSYNC='-rvzh --force --stats';  # Défaut : --stats -rhuvzlO
 
 # - > Deux mécanismes de synchronisation
 # - > STANDARD = Comparaison de date
 # - > CHECKSUM = Exécute un checksum entre la source et la destination (plus lent)
 # - > !! ATTENTION !! Si vous passez d'un mode à un autre (Défaut ou CHECKSUM)
 # - > !! ATTENTION !! L’intégralité des fichiers seront à nouveau sauvegardés, car leurs intégrités n'est plus la même !!
 TYPE_ANALYSE_RSYNC=""; # - > Défaut : STANDARD
 
 # - > Si TRUE les fichiers renseignés dans les exclusions seront supprimés du backup.
 # - > A noter que si < BACKUP_FROM_OVER_SSH > est TRUE
 # - > 	 < DELETE_EXCLUDED > sera automatiquement désactivé (sécurité)
 DELETE_EXCLUDED="TRUE"; # - > Défaut : FALSE
 
 # - > Permet de sauvegarder les éléments qui ne sont plus présents dans la source.
 BACKUP_DELETE_FILES="TRUE"; # - > Défaut : TRUE
 
 # - > Nom du dossier des éléments supprimés.
 BACKUP_DELETE_FILES_FOLDER_NAME=""; # - > Défaut : RECYCLE_BIN
 
 # - > Permet de sauvegarder sur un host distant via le protocole rsync/ssh
 #BACKUP_FROM_OVER_SSH="FALSE"; # - > Défaut : FALSE
 
 # DEBUG
 
 # - > Permet d'afficher le détails des commandes exécutés.
 SHOW_OPTIONS_RSYNC="FALSE";
 DEBUG_RSYNC="TRUE"
fi
 
#######################################################################
# --------------------------------------------------------------------#
# ~~~~~~~~ [ EXTRA ] ~~~~~~ > Sauvegarde de vos 'fichiers/dossiers'.  #
# --------------------------------------------------------------------#
#######################################################################
 
if [ "${EXTRA}" == "TRUE" ]
then
	# exclure les fichiers cfv des archives
	# - > Indiquez les 'fichiers / dossiers' à sauvegarder.
	array_extra=(/etc/init.d/bck120);
 
	# - > Défaut  : FALSE
 	COMPRESSION_EXTRA="TRUE";
 
	if [ "${COMPRESSION_EXTRA}" == "TRUE" ]
	then
		# Les formats supportés sont : TARGZ, BZIP2, P7ZIP
		# - > Défaut  : TARGZ
		FORMAT_COMPRESSION_EXTRA="TARGZ";
 
		# - > Permet de compresser les éléments de < array_extra > dans un même fichier d'archive.
		# - > Défaut  : TRUE
		EXTRA_COMPRESSION_COMMUN="FALSE";
 
		# Permet de protéger les archives avec un password
		# !! UNIQUEMENT COMPATIBLE AVEC 7ZIP !!
		PASSWORD_PROTECT='TRUE'
		if [ "${PASSWORD_PROTECT}" == "TRUE" ] && [ "${FORMAT_COMPRESSION_EXTRA}" == "TRUE" ]
		then
			SET_PASSWORD='120';
		fi
 
		DEBUG_COMPRESSION="FALSE"
	fi
 
	# Permet de créer des fichiers de vérification d'intégrité.
	CREATION_CHECKSUM="TRUE"
 
	if [ "${CREATION_CHECKSUM}" == "TRUE" ]
	then
 
		# Afin de réaliser les checksum, vous devez installer le paquet < md5deep >
		# Pour cela, utiliser votre gestionnaire de paquet
		# ex : sudo apt-get install md5depp, yum install md5deep (depot rpmforge), ...
		# Plus d'info : http://md5deep.sourceforge.net/
 
 
		CHECKSUM_COMPRESSION="FALSE"; # - > Défaut  : FALSE
 
		# Les formats supportés sont : TARGZ, BZIP2, P7ZIP
		# - > Défaut  : TARGZ
		FORMAT_CHECKSUM_COMPRESSION="P7ZIP";
 
		DEBUG_CHECKSUM="FALSE"
	fi
 
	DEBUG_EXTRA="FALSE";
fi
 
#######################################################################
# --------------------------------------------------------------------#
# ~~~~~~~~ [ SQL ] ~~~~~~ > Sauvegarde des bases de données           #
# --------------------------------------------------------------------#
#######################################################################
 
if [ "${SQL}" == "TRUE" ]
then
	# - > Pour Sauvegarder MySQL, vous avez deux possibilités :
	# - > METHODE_1 -- > Création d'un fichier DUMP (.sql) personnalisé.
	# - > METHODE_2 -- > Sauvegarde du dossier '/var/lib/mysql'
	# 		!!! METHODE_2, ne fonctionne uniquement en local
	#     !!! Utilisez RSYNC pour synchroniser des dossiers distants (via ssh)
 
	# - > Les deux méthodes peuvent être utilisés en même temps.
 
	METHODE_1="TRUE";
	METHODE_2="FALSE";
 
	if [ ${METHODE_1} == "TRUE" ]
	then
 
	  # - > Identification MySql
	  SQL_HOST="202.87.129.35"; # - > Défaut  : localhost
	  SQL_LOGIN="****";
	  SQL_PASSWORD="*****";
	  OPTION_MYSQLDUMP="--opt --compress --extended-insert --complete-insert --port=3306";
 
		# - > Comment sauvegarder entièrement MySQL ?
		# - > SQL_DATABASE=(all)
		# - > Comment sauvegarder uniquement certaine DB ?
		# - > SQL_DATABASE=(db1 db2 db3 ..);
		SQL_DATABASE=(all);
 
		# - > Comment obtenir un fichier dump unique ?
		# - > Exemple, si vous avez 5 DB et que vous souhaitez obtenir 5 fichiers SQL
		# - >  Indiquez FALSE à SQL_DUMP_COMMUN, sinon TRUE
		# - > ATTENTION,  si SQL_DUMP_COMMUN=TRUE et qu'une erreur est détectée, l'opération sera interrompu.
 
		SQL_DUMP_COMMUN="FALSE"; # - > Défaut  : FALSE
	fi
 
	if [ ${METHODE_2} == "TRUE" ]
	then
		# - > !!!! Permet d'être certain que les bases soient disponible pour la sauvegarde.
		# - > !!!! ATTENTION LE SERVEUR MYSQL SERA MOMENATEMENT INTERROMPU!!!!
 
		STOPSQL="TRUE"; # - > Défaut  : FALSE
 
		# - > Path du fichier INIT Mysql
		SQL_PATH_INIT="/etc/init.d/mysqld";
 
		# - > Path du dossier LIB de MySQL
		PATH_LIB_SQL="/var/lib/mysql";
	fi
 
	# - > Compression des données SQL
	# - > Défaut  : TRUE
	COMPRESSION_METHODE_1="FALSE";
  COMPRESSION_METHODE_2="FALSE";
 
	# Les formats supportés sont : TARGZ, BZIP2, P7ZIP
	# P7ZIP doit être installé (http://www.7-zip.org/download.html)
	# - > Défaut  : TARGZ
	FORMAT_COMPRESSION_SQL="TARGZ";
 
	# Permet de créer des fichiers de vérification d'intégrité.
	CREATION_CHECKSUM="TRUE"
 
	if [ "${CREATION_CHECKSUM}" == "TRUE" ]
	then
 
		CHECKSUM_COMPRESSION="FALSE"; # - > Défaut  : FALSE
 
		# Les formats supportés sont : TARGZ, BZIP2, P7ZIP
		FORMAT_CHECKSUM_COMPRESSION="P7ZIP"; # - > Défaut  : TARGZ
 
		DEBUG_CHECKSUM="FALSE"
	fi
 
 
	# - > Permet d'afficher le détail des commandes exécutées.
	DEBUG_SQL="FALSE"
fi
 
##########################################################################################
##########################################################################################
  		    ## CONFIGURATION DES STATS SERVEURS ##
##########################################################################################
##########################################################################################
 
if [ "${STATS_SERVER}" == "TRUE" ]
then
	SHOW_HOST_INFO="TRUE"
	SHOW_MEM_INFO="TRUE"
	SHOW_HDD_INFO="FALSE"
	SHOW_SPACE_INFO="FALSE"
 
	if [ ${SHOW_SPACE_INFO} == "TRUE" ]
	then
		SHOW_HDD_INFO=(${VAR_BCK_CHROOT} '/BCK120-NOUMEA' '/home');
		SHOW_HDD_INFO_ALARME=(20 30 60);
 
		SHOW_FOLDER_INFO=("${VAR_BCK_CHROOT}");
	fi
	# - > Génération de l'historique des sauvegardes en fonction des fichiers log
	NBR_JOURS_historique=(30 90);
fi
 
##########################################################################################
##########################################################################################
  		    ## CONFIGURATION DES NOTIFICATIONS ##
##########################################################################################
##########################################################################################
 
# - > !!! Si vous n'activez pas la notification
# - > !! Vous ne recevrez aucune notification en cas de problème majeur !!
# - > !! Conseil, Activez l'option au minimum NOTIF_ONLY_IF_ERROR !!!
 
if [ "${NOTIF_MAIL}" != "FALSE" ]
then
 	MAIL_TO="email@domaine.nc";
 
	MAIL_SUJET="[BCK120] -> Rapport de la Sauvegarde ${BCK_NAME}";
 
	# - > SI TRUE, alors le log sera compressé et transmit comme une pièce jointe.
	# - > SINON il sera affiché dans le mail.
	PIECE_JOINTE_LOG="FALSE"
 
	COMPRESSION_PJ="FALSE"; # - > Défaut  : TRUE
 
	DEBUG_NOTIF_MAIL="FALSE"
 
fi
 
##########################################################################################
##########################################################################################
  		    ## CONFIGURATION ROTATION ##
##########################################################################################
##########################################################################################
 
if [ "${ROTATION}" == "TRUE" ]
then
	# - > Nombre de jour ou seront conservé les "fichiers / dossiers".
	NBR_JOUR_ROTATION=90;
 
	# - > Deux SOLUTIONS :
	# - >   SUPPRESSION = Supprime les 'fichiers/dossiers' sauvegardés de plus de n jours.
	# - >   ARCHIVAGE = Copie les 'fichiers/dossiers' vieux de plus de n jours dans un dossier d'archivage.
 
	TYPE_ROTATION="SUPPRESSION"; # - > Défaut  : ARCHIVAGE
 
	# - > Indiquez les modules que vous souhaitez intégrer lors de la rotation.
	# - > Si vous indiquez LOG dans array_rotation, vos historiques en seront faussés
  # - > Car il se base sur les fichiers log
 
	array_Rotation=("EXTRA" "SQL" "RSYNC");
 
	if [ "${TYPE_ROTATION}" == "ARCHIVAGE" ]
	then
		# -> Destination des 'fichiers/dossiers' archivés
		DOSSIER_ROTATION_ARCHIVAGE="$VAR_ROOT/ARCHIVAGE";
 
		# Jusqu'a quel niveau voulez vous effectuer la recherche ?
		# Exemple  : /BCK120/NOM_DU_BACKUP/NOM_DU_MODULE/ANNEE/MOIS/JOUR
		# MAXDEPTH 1 = NOM_DU_MODULE/ANNEE
		# MAXDEPTH 2 = NOM_DU_MODULE/ANNEE/MOIS
		# MAXDEPTH 3 = NOM_DU_MODULE/ANNEE/MOIS/JOUR
		# - > Défaut  : 3
		MAXDEPTH=3
 
		# -> Compression des archives ?
		# - > Défaut: FALSE
		COMPRESSION_ROTATION="TRUE";
		if [ "${COMPRESSION_ROTATION}" == "TRUE" ]
		then
			# - > Défaut  : TARGZ
			FORMAT_COMPRESSION_ROTATION="P7ZIP";
		fi
 
		# -> Si < COPIE >, les fichiers seront copié de la source (ATTENTION !!
		# -> Si < MOVE >, les fichiers seront déplacés de la source
 
		# - > Défaut  : COPIE
		TYPE_ARCHIVAGE="COPIE";
	fi
 
	# - > Permet d'afficher les commandes exécutés par la ROTATION.
	DEBUG_ROTATION="TRUE";
fi
 
 
######################################################
# 					!!! FIN DE LA CONFIGURATION !!					 #
######################################################
#ne pas modifier
autoload_conf "${VAR_BCK_CHROOT}/init/status.sh" || status 3 "Probleme de chargement du fichier < ${VAR_BCK_CHROOT}/init/status.sh >" ;
autoload_conf "${VAR_BCK_CHROOT}/init/init-end.sh"
Bonne journée :)


Citation:
Envoyé par lvictor Voir le message
Bon, je ne connais pas windows, mais sous linux sur un même disque tu dois pouvoir assez facilement faire un script qui se base sur une copie complète d'un répertoire.

Appelons le répertoire surveillé "répertoire sauvegardé" et appelons sa copie complète la "base".

Ton script va créer régulièrement un nouveau répertoire pour la sauvegarde puis le remplir avec chaque fichier de ton "répertoire sauvegardé" soit:
- en faisant un lien hard vers le fichier contenu dans la "base" si celui ci n'a pas été modifié.
- en copiant depuis le "répertoire sauvegardé" le fichier si celui-ci à été modifié

on avait fait ca dans la boite ou je bossais il y a 10 ans... je n'ai plus les scripts sous la main, mais c'était très simple: un peu de rsync et pas beaucoup de travail :o)

la seule contrainte est d'initialiser le truc avec une copie complète... donc ca prend minimum 2x la taille de ton répertoire puis ca grossi petit à petit au fur et à mesure que les fichiers sont modifiés... sinon, ca ne grossi presque pas (ca ne consomme que des descripteurs de fichiers)

Je n'ai jamais compris pourquoi personne n'a jamais intégré ce genre de fonctionnalités directement dans un système de fichiers... avec les gigas inutilisés dans tous les disques, la "corbeille" est un peu obsolète en fait...

hope it helps...
tenez nous au courant si vous ré-implémentez ce truc
caledonien est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 18h13   #5
Invité de passage
 
Stéphane
Inscription : janvier 2011
Messages : 1
Détails du profil
Informations personnelles :
Nom : Stéphane

Informations forums :
Inscription : janvier 2011
Messages : 1
Points : 1
Points : 1
Bonjour,

Petit déterrage, mais le topic est pas très vieux et peu d'infos là dessus en Fr
Je vais me mettre en place un petit NAS et je compte utiliser cette fonctionalité...
J'ai trouvé ces infos : http://www.wlug.org.nz/SambaShadowCopyHowto
donc module VFS pour Samba et systeme de fichiers XFS et un peu de config

Je vais bientôt mettre en test, j'attend le matériel
StephCo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 00h07   #6
Invité régulier
 
Développeur informatique
Inscription : mars 2007
Messages : 12
Détails du profil
Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : mars 2007
Messages : 12
Points : 9
Points : 9
Hehe excellent, merci du déterrage je vais aussi tester cette solution.

Actuellement je test les "snapshost" avec l'outil DAR sous Linux, c'est pas mal.

http://dar.linux.free.fr/doc/Features.html

Bonne journée
caledonien est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2011, 02h22   #7
Invité de passage
 
Francois
Inscription : février 2011
Messages : 1
Détails du profil
Informations personnelles :
Nom : Francois

Informations forums :
Inscription : février 2011
Messages : 1
Points : 1
Points : 1
Je profite du déterrage pour ajouter mon grain de sel

cette fonctionnalité des versions précédentes d'un fichier sous windows server est vraiment un truc formidable pour les utilisateurs, et c'est vraiment dommage qu'on n'ait pas l'équivalent sous Linux. Le module VFS Samba je n'ai pas testé parce que je n'ai pas envie de reformater mes partitions en XFS, je fais plus confiance au bon vieux ext3, mais bon c'est perso.

A défaut j'utilise rsnapshot, c'est pas tout neuf mais ça a fait ses preuves, c'est basé sur rsync et les liens durs, donc en gros c'est la méthode dont parlait lvictor mais là c'est packagé et ça se configure en 5mn.
rumbaya est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 03h03.


 
 
 
 
Partenaires

Hébergement Web