Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 21/02/2013, à 13:24

Cuantos-Anos

Script bash permettant l'automatisation de la sauvegarde de conf'

Bonjour,

   actuellement sur un projet d'automatisation de sauvegarde de conf' de switchs, je cherche une commande particulière qui me permettrait d'avoir deux versions des fichiers de conf' récupérés. Je m'explique : mon script bash fonctionne parfaitement, mais je souhaite y apporter quelques fonctionnalités. Ainsi, j'ai notamment utilisé la commande "find", mais sans réussite. Ma sauvegarde automatique a lieu 1 fois par semaine, mais écrase les anciens fichiers à chaque fois ; chose que je NE veux pas...Je veux avoir une version ancienne de chaque fichiers et la dernière version en gros.

Cordialement smile

[RESOLU]
"La vie est une scène et nous en sommes les acteurs"

Dernière modification par Cuantos-Anos (Le 27/02/2013, à 17:42)


"Seuls ceux qui sont assez fous pour penser qu'ils peuvent changer le monde y parviennent"

Hors ligne

#2 Le 21/02/2013, à 13:48

Brunod

Re : Script bash permettant l'automatisation de la sauvegarde de conf'

rsnapshot wink


Windows est un système d'exploitation de l'homme par l'ordinateur. Linux, c'est le contraire...
39 pc linux convertis

Hors ligne

#3 Le 21/02/2013, à 13:52

Maisondouf

Re : Script bash permettant l'automatisation de la sauvegarde de conf'

En fin de scripte, tu renommes ton ficher avec la date dans le nom.

mv fichier fichier-`date +%Y%m%d-%H%M`

ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor,  OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)

Hors ligne

#4 Le 21/02/2013, à 16:18

Cuantos-Anos

Re : Script bash permettant l'automatisation de la sauvegarde de conf'

J'ai dans les 250 fichiers...


"Seuls ceux qui sont assez fous pour penser qu'ils peuvent changer le monde y parviennent"

Hors ligne

#5 Le 21/02/2013, à 18:10

pingouinux

Re : Script bash permettant l'automatisation de la sauvegarde de conf'

Salut,
Tu peux sauvegarder tes fichiers dans un répertoire dont le nom contient la date de la sauvegarde (voir message de Maisondouf #3).

Hors ligne

#6 Le 22/02/2013, à 11:10

Cuantos-Anos

Re : Script bash permettant l'automatisation de la sauvegarde de conf'

Merci pour vos réponses, mais j'ai plutôt penser à mv avec l'option 'numbered' pour numéroter toutes mes sauvegardes. Cependant, ça ne marche toujours pas...:(


"Seuls ceux qui sont assez fous pour penser qu'ils peuvent changer le monde y parviennent"

Hors ligne

#7 Le 22/02/2013, à 11:15

elendil

Re : Script bash permettant l'automatisation de la sauvegarde de conf'

Et pourquoi pas un truc du genre :

#!/bin/bash

dossier="test"
tps=`date +%Y%m%d-%H%M`

for log in `ls $dossier`
do
     mv -v $dossier/$log $dossier/$log-$tps
done

Edit : Correction

Dernière modification par elendil (Le 22/02/2013, à 16:58)

Hors ligne

#8 Le 22/02/2013, à 13:16

Cuantos-Anos

Re : Script bash permettant l'automatisation de la sauvegarde de conf'

J'ai essayé mais sans réussite x). J'ai également essayé avec la commande suivante :
mv [-V {existing}] /tftpboot (répertoire où se trouvent mes fichiers de sauvegarde), mais ça ne fonctionne pas...:mad:


"Seuls ceux qui sont assez fous pour penser qu'ils peuvent changer le monde y parviennent"

Hors ligne

#9 Le 22/02/2013, à 16:58

elendil

Re : Script bash permettant l'automatisation de la sauvegarde de conf'

J'ai corrigé le code (j'avais oublié une variable).

Ça devrait fonctionner sans soucis maintenant !

Hors ligne

#10 Le 22/02/2013, à 17:32

Cuantos-Anos

Re : Script bash permettant l'automatisation de la sauvegarde de conf'

J'ai réessayé avec les modifs', ça m'affiche l'erreur suivante... :
target `+%Y%m%d-%H%M' is not a directory


"Seuls ceux qui sont assez fous pour penser qu'ils peuvent changer le monde y parviennent"

Hors ligne

#11 Le 22/02/2013, à 18:52

Maisondouf

Re : Script bash permettant l'automatisation de la sauvegarde de conf'

T'as du oublier un morceau de la ligne : tps=....

Fait du copier/coller directement du forum vers ton fichier scripte.

Dernière modification par Maisondouf (Le 22/02/2013, à 18:53)


ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor,  OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)

Hors ligne

#12 Le 25/02/2013, à 11:25

Cuantos-Anos

Re : Script bash permettant l'automatisation de la sauvegarde de conf'

Merci ça fonctionne smile, mais je n'ai pas "réelement" deux versions des fichiers...je vous envoie le résultat pour que vous voyez mieux.
Dans mon répertoire tftpboot (répertoire où sont stockées les sauvegardes), je liste le contenu de celui-ci (deux fichiers seulement car je fais des tests, donc deux switchs concernés ici seulement), et voila ce que j'obtiens :

10.20.32.43.conf.txt-20130225-1017-20130225-1017
192.168.254.66.conf.txt-20130225-1017-20130225-1017

-> J'obtiens bien la date à la suite du fichier de conf', mais il n'y a pas deux versions de chaque fichier...


"Seuls ceux qui sont assez fous pour penser qu'ils peuvent changer le monde y parviennent"

Hors ligne

#13 Le 25/02/2013, à 11:55

elendil

Re : Script bash permettant l'automatisation de la sauvegarde de conf'

Cuantos-Anos a écrit :

-> J'obtiens bien la date à la suite du fichier de conf', mais il n'y a pas deux versions de chaque fichier...

Là je suis perdu tu veux faire quoi exactement ?

Si c'est ça que tu veux, il faut juste remplacer le "mv -v" par "cp -v" dans le script que je t'ai donné.
(mv étant "move" ce qui reviens à renomer un fichier et le "cp" veut dire copy...)

$ ls tftpboot
|-10.20.32.43.conf.txt
`-192.168.254.66.conf.txt

$ script_traitement

$ ls tftpboot
|-10.20.32.43.conf.txt
|-10.20.32.43.conf.txt-DATE
|-192.168.254.66.conf.txt
`-192.168.254.66.conf.txt-DATE

L'inconvénient de ça c'est que tu finiras par avoir des fichiers avec des noms à rallonge (genre 10.20.32.43.conf.txt-DATE-DATE-DATE-DATE.....).

Dernière modification par elendil (Le 25/02/2013, à 12:03)

Hors ligne

#14 Le 25/02/2013, à 12:25

elendil

Re : Script bash permettant l'automatisation de la sauvegarde de conf'

Bon si TOUS tes fichiers log finissent par ".txt" et qu'il n'y a pas d'autres fichiers dans le dossier que tu veux conserver, tu peux utiliser le script ci-dessous :

#!/bin/bash

dossier="test"
tps=`date +%Y%m%d-%H%M`

for log in `ls $dossier/*.txt`
do
     ## Attention suppression de fichiers !!!!! ##
     echo -n "Effacement de: " 			 #
     ls $log-* &> /dev/null && rm -v  $log-* 	 #
     #############################################

     ## Copie de fichiers log
     echo -n "Copie de: "
     cp -v $log $log-$tps
done

Je le répète ce script va supprimer tous les fichiers autre que le fichier contenu dans la variable $log.
À utiliser avec attention !!!!

Dernière modification par elendil (Le 25/02/2013, à 12:26)

Hors ligne

#15 Le 25/02/2013, à 12:35

Maisondouf

Re : Script bash permettant l'automatisation de la sauvegarde de conf'

Pour ton soucis de version, la date change en permanence, donc tu auras forcément plusieurs versions avec plusieurs dates
Le script de elendil peu être amélioré en testant si le fichier à déjà été daté.
Attention le test se fait sur la présence d'un '-' dans le nom, il ne faut donc pas que tes fichier d'origine (xx.xxx.xx.xx.conf.txt) en ait un dans leur nom.

#!/bin/bash

dossier="test"
tps=`date +%Y%m%d-%H%M`

for log in `ls $dossier`
do
     p=`echo $log | grep -v -`
     if [ ! -z $p ]; then mv -v $dossier/$log $dossier/$log-$tps;fi
done

ASUS M5A88-v EVO avec AMD FX(tm)-8120 Eight-Core Processor,  OS principal Precise 12.04.1 LTS 63bits½
Bricoleur, menteur, inculte, inadapté social et mythomane, enfin d'après certains....
"the secret of my form is summed up in two words, no sport" (Winston Churchill)

Hors ligne

#16 Le 25/02/2013, à 13:01

Cuantos-Anos

Re : Script bash permettant l'automatisation de la sauvegarde de conf'

#!/bin/bash

dossier="test"
tps=`date +%Y%m%d-%H%M`

for log in `ls $dossier/*.txt`
do
     ## Attention suppression de fichiers !!!!! ##
     echo -n "Effacement de: " 			 #
     ls $log-* &> /dev/null && rm -v  $log-* 	 #
     #############################################

     ## Copie de fichiers log
     echo -n "Copie de: "
     cp -v $log $log-$tps
done

Merci pour vos réponses, j'obtiens le résultat que je désire enfin (avec quelques modifications apportées au script que tu as diffusé) smile. Dernier petit bémol : j'obtiens bien une version "nouvelle" du fichier de sauvegarde et une ancienne version, mais l'ancienne version est "de base" (celle du fichier de base, ex : 10.20.33.40.conf.txt). Moi j'aurais voulu avoir la version ancienne (de la dernière Heure où le script s'est éxécuté) et la version actuelle quoi (heure où je l'éxécute).


"Seuls ceux qui sont assez fous pour penser qu'ils peuvent changer le monde y parviennent"

Hors ligne

#17 Le 25/02/2013, à 16:53

elendil

Re : Script bash permettant l'automatisation de la sauvegarde de conf'

Bon celui-là devrait faire l'affaire :

#!/bin/bash

## Paramètres ################
dossier="test"               # Dossier fichier log
lastdateFile=".lastdate"     # Fichier contenant la date de la dernière sauvegarde
##############################

## Date
tps=`date +%Y%m%d-%H%M%S`

## Lesture de la date de la dernière sauvegarde
if [ -f $lastdateFile ]
then
    lastdate=`cat $lastdateFile`
else
    lastdate=""
fi

## Traitement
for log in `ls $dossier/*.txt`
do
     ## Attention suppression de fichiers !!!!! #######
     for rlog in `ls $log-*`
     do
          if [ "$rlog" != "$log-$lastdate" ]
	  then
              echo -n "Effacement de: "
              rm -v $rlog
          fi
     done
     ##################################################

     ## Copie de fichiers log
     echo -n "Copie de:      "
     cp -v $log $log-$tps
done

## Sauvegarde la dernière date
echo "Sauvegarde de lastdate=$tps"
echo "$tps" > $lastdateFile

Maintenant tu peux prendre les lignes une à une avec un guide du script Bash pour modifier selon ce que tu veux obtenir.
Il n'y absolument rien de difficile dans ce script.

Hors ligne

#18 Le 26/02/2013, à 17:51

Cuantos-Anos

Re : Script bash permettant l'automatisation de la sauvegarde de conf'

Je suis navré car ça ne marche pas...Cependant, je vais m'expliquer autrement pour que je sois compréhensible le plus possible.

#!/bin/bash
# On se place dans le répertoire tftpboot où il y a les fichiers de sauvegarde
# On définie la variable "tps" qui affichera la date complète
dossier="/tftpboot"
tps=`date +%Y%m%d-%H%M`

for log in `ls $dossier/*.txt`
do
     ## Attention suppression de fichiers !!!!! ##
     echo "Effacement de: "                   #
     ls $log-* &> /dev/null && rm -v  $log-*     #
     #############################################

     ## Copie de fichiers log
     echo "Copie de: "
     cp -v $log $log-$tps
done

En utilisant ce code simple, je veux simplement ne pas avoir après 1 an de sauvegarde automatique par ex 50 versions de fichiers de CHAQUE fichier de sauvegarde quoi. Je veux simplement ceci :
- 1 version de chaque fichier datant de la semaine dernière
- 1 version du fichier datant d'aujourd'hui
-> Ainsi, j'aurais 2 versions pour chaque fichier, afin que par moment je puisse observer ce qui a changé en 1 semaine dans les conf'. smile


"Seuls ceux qui sont assez fous pour penser qu'ils peuvent changer le monde y parviennent"

Hors ligne

#19 Le 26/02/2013, à 17:52

Cuantos-Anos

Re : Script bash permettant l'automatisation de la sauvegarde de conf'

Je te remercie (et vous remercie) d'avance du temps que vous consacrez pour ce sujet. smile


"Seuls ceux qui sont assez fous pour penser qu'ils peuvent changer le monde y parviennent"

Hors ligne

#20 Le 26/02/2013, à 18:06

elendil

Re : Script bash permettant l'automatisation de la sauvegarde de conf'

Tu as testé celui du post #17 ???? Il devrait faire ce que tu demandes.

Dernière modification par elendil (Le 26/02/2013, à 18:07)

Hors ligne

#21 Le 26/02/2013, à 18:26

Cuantos-Anos

Re : Script bash permettant l'automatisation de la sauvegarde de conf'

Oui je l'ai bien testé, et ça ne fonctionne pas puisque le résultat obtenu est le suivant :

10.20.32.43.conf.txt                            192.168.254.66.conf.txt
10.20.32.43.conf.txt-20130226-1722  192.168.254.66.conf.txt-20130226-1722

-> Oui j'ai bien deux versions "visuellement", mais en regardant de plus près ceux-ci, ils ont la même date !
( ex : 10.20.32.43.conf.txt a la même date exactement que son homologue 10.20.32.43.conf.txt-20130226-1722 ! Or je veux bien deux dates différentes, tel imaginons 17h22 et 17h26 si je l'éxécute à 17h26 et que je l'ai éxécuté à 17h22 quoi)
smile


"Seuls ceux qui sont assez fous pour penser qu'ils peuvent changer le monde y parviennent"

Hors ligne

#22 Le 26/02/2013, à 19:52

elendil

Re : Script bash permettant l'automatisation de la sauvegarde de conf'

Cuantos-Anos a écrit :

-> Oui j'ai bien deux versions "visuellement", mais en regardant de plus près ceux-ci, ils ont la même date !
( ex : 10.20.32.43.conf.txt a la même date exactement que son homologue 10.20.32.43.conf.txt-20130226-1722 ! Or je veux bien deux dates différentes, tel imaginons 17h22 et 17h26 si je l'éxécute à 17h26 et que je l'ai éxécuté à 17h22 quoi)
smile

Quand tu exécutes ce script il copie le fichier IP.txt vers IP.txt-DATE donc forcément les deux fichiers sont identiques et ont la même "date".
Je ne vois pas trop ce que tu veux dire par "ils ont la même date" ???



Une semaine pllus tard ton fichier IP.txt aura changer et tu feras une nouvelle sauvegarde et alors tu auras IP.txt, IP.txt-DATE et le script va te faire une copie de IP.txt vers IP.txt-DATE2.
Une semaine plus tard tu fais une autre sauvegarde et IP.txt aura changé durant la semaine. Tu as dans ton dossier : IP.txt, IP.txt-DATE, IP.txt-DATE2.
Le script va alors supprimer IP.txt-DATE et copier IP.txt vers IP.txt-DATE3.
Une semaine plus tard, tu as dans ton dossier : IP.txt, IP.txt-DATE2, IP.txt-DATE3.
Le script va alors supprimer IP.txt-DATE2 et copier IP.txt vers IP.txt-DATE4. Et tu auras dans ton dossier IP.txt, IP.txt-DATE3 et IP.txt-DATE4.
. . . . et ainsi de suite . . . .

Hormis la première semaine tu auras toujours 3 versions de ton fichier IP.txt :
IP.txt (la version en cours d'utilisation)
IP.txt-DATE1 (la version d'il y a 2 semaines qui va être supprimée à la prochaine exécution)
IP.txt-DATE2(La version de la semaine dernière)


Donc forcément si tu lances le script à 17h26 et 17h28 tes fichiers seront exactement les mêmes s'il n'y a rien eu de modifier entre les deux.

Dans tous les cas soit je ne voit pas ce que tu veux réellement soit ça fait ce que tu veux et tu ne t'en ai pas aperçu smile ou alors c'est mal expliqué . . .

Dernière modification par elendil (Le 26/02/2013, à 19:54)

Hors ligne

#23 Le 26/02/2013, à 20:26

Postmortem

Re : Script bash permettant l'automatisation de la sauvegarde de conf'

Salut,
Je te propose le script suivant ; ça garde la date d'origine des fichiers (du moins, la date qu'ils ont au moment de l'exécution du script) :

$ cat ./test.sh
#!/bin/bash

DOSSIER=$HOME/test
DATE_SAVE=$(date '+%Y%m%d-%H%M%S')

for fic in "$DOSSIER"/*.conf.txt
do
   mv "$fic" "$fic-$DATE_SAVE"
   tab_fic=( "$fic"* )
   [[ -f ${tab_fic[2]} ]] && rm "${tab_fic[0]}"
done

A l'exécution ça donne :

$ ls -l $HOME/test
total 0
-rw-r--r-- 1 toto titi 0 fév 26 15:03 10.20.32.43.conf.txt
-rw-r--r-- 1 toto titi 0 fév 26 15:03 192.168.254.66.conf.txt
-rw-r--r-- 1 toto titi 0 fév 26 15:03 198.168.254.65.conf.txt

$ ./test.sh

$ ls -l $HOME/test
total 0
-rw-r--r-- 1 toto titi 0 fév 26 15:03 10.20.32.43.conf.txt-20130226-191530
-rw-r--r-- 1 toto titi 0 fév 26 15:03 192.168.254.66.conf.txt-20130226-191530
-rw-r--r-- 1 toto titi 0 fév 26 15:03 198.168.254.65.conf.txt-20130226-191530

# Dépot de nouveaux fichiers *.conf.txt
$ ls -l $HOME/test
total 0
-rw-r--r-- 1 toto titi 0 fév 26 16:15 10.20.32.43.conf.txt
-rw-r--r-- 1 toto titi 0 fév 26 15:03 10.20.32.43.conf.txt-20130226-191530
-rw-r--r-- 1 toto titi 0 fév 26 16:15 192.168.254.66.conf.txt
-rw-r--r-- 1 toto titi 0 fév 26 15:03 192.168.254.66.conf.txt-20130226-191530
-rw-r--r-- 1 toto titi 0 fév 26 16:15 198.168.254.65.conf.txt
-rw-r--r-- 1 toto titi 0 fév 26 15:03 198.168.254.65.conf.txt-20130226-191530

$ ./test.sh

$ ls -l $HOME/test
total 0
-rw-r--r-- 1 toto titi 0 fév 26 15:03 10.20.32.43.conf.txt-20130226-191530
-rw-r--r-- 1 toto titi 0 fév 26 16:15 10.20.32.43.conf.txt-20130226-191610
-rw-r--r-- 1 toto titi 0 fév 26 15:03 192.168.254.66.conf.txt-20130226-191530
-rw-r--r-- 1 toto titi 0 fév 26 16:15 192.168.254.66.conf.txt-20130226-191610
-rw-r--r-- 1 toto titi 0 fév 26 15:03 198.168.254.65.conf.txt-20130226-191530
-rw-r--r-- 1 toto titi 0 fév 26 16:15 198.168.254.65.conf.txt-20130226-191610

# Dépot de nouveaux fichiers *.conf.txt
$ ls -l $HOME/test
total 0
-rw-r--r-- 1 toto titi 0 fév 26 17:28 10.20.32.43.conf.txt
-rw-r--r-- 1 toto titi 0 fév 26 15:03 10.20.32.43.conf.txt-20130226-191530
-rw-r--r-- 1 toto titi 0 fév 26 16:15 10.20.32.43.conf.txt-20130226-191610
-rw-r--r-- 1 toto titi 0 fév 26 17:28 192.168.254.66.conf.txt
-rw-r--r-- 1 toto titi 0 fév 26 15:03 192.168.254.66.conf.txt-20130226-191530
-rw-r--r-- 1 toto titi 0 fév 26 16:15 192.168.254.66.conf.txt-20130226-191610
-rw-r--r-- 1 toto titi 0 fév 26 17:28 198.168.254.65.conf.txt
-rw-r--r-- 1 toto titi 0 fév 26 15:03 198.168.254.65.conf.txt-20130226-191530
-rw-r--r-- 1 toto titi 0 fév 26 16:15 198.168.254.65.conf.txt-20130226-191610

$ ./test.sh

$ ls -l $HOME/test
total 0
-rw-r--r-- 1 toto titi 0 fév 26 16:15 10.20.32.43.conf.txt-20130226-191610
-rw-r--r-- 1 toto titi 0 fév 26 17:28 10.20.32.43.conf.txt-20130226-191640
-rw-r--r-- 1 toto titi 0 fév 26 16:15 192.168.254.66.conf.txt-20130226-191610
-rw-r--r-- 1 toto titi 0 fév 26 17:28 192.168.254.66.conf.txt-20130226-191640
-rw-r--r-- 1 toto titi 0 fév 26 16:15 198.168.254.65.conf.txt-20130226-191610
-rw-r--r-- 1 toto titi 0 fév 26 17:28 198.168.254.65.conf.txt-20130226-191640

Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »

Hors ligne

#24 Le 27/02/2013, à 10:46

Cuantos-Anos

Re : Script bash permettant l'automatisation de la sauvegarde de conf'

Oui ELENDIL, je suis tout à fait d'accord avec la procédure que tu expliques, et c'est l'objectif. Mais le seul soucis c'est que au fur et à mesure du temps, les fichiers vont se multiplier quoi, car il ne sont JAMAIS supprimés à chaque éxécution du script, ils ne font que s'entasser...malgrès la partie "rm" x).


"Seuls ceux qui sont assez fous pour penser qu'ils peuvent changer le monde y parviennent"

Hors ligne

#25 Le 27/02/2013, à 11:16

elendil

Re : Script bash permettant l'automatisation de la sauvegarde de conf'

Ben chez moi ils se suprriment bien lors de la 3ème exécution....
Il FAUT 3 lancements du script pour que celui-ci supprime des fichiers avant ça il ne fait que concerver les versions précédentes.

Voici ce que j'obtiens :

$ ls -l logfile/
total 0
-rw-r--r-- 1 elendil users 0 27.02.2013 10:04 XX.YY.ZZ.UU.txt
-rw-r--r-- 1 elendil users 0 27.02.2013 10:04 xx.yy.zz.uu.txt


$ ./script 
Copie de:      « logfile/XX.YY.ZZ.UU.txt » -> « logfile/XX.YY.ZZ.UU.txt-20130227-100752 »
Copie de:      « logfile/xx.yy.zz.uu.txt » -> « logfile/xx.yy.zz.uu.txt-20130227-100752 »
Sauvegarde de lastdate=20130227-100752


$ ls -l logfile/
total 0
-rw-r--r-- 2 elendil users 0 27.02.2013 10:04 XX.YY.ZZ.UU.txt
-rw-r--r-- 1 elendil users 0 27.02.2013 10:07 XX.YY.ZZ.UU.txt-20130227-100752
-rw-r--r-- 1 elendil users 0 27.02.2013 10:04 xx.yy.zz.uu.txt
-rw-r--r-- 1 elendil users 0 27.02.2013 10:07 xx.yy.zz.uu.txt-20130227-100752


$ ./script 
Copie de:      « logfile/XX.YY.ZZ.UU.txt » -> « logfile/XX.YY.ZZ.UU.txt-20130227-100803 »
Copie de:      « logfile/xx.yy.zz.uu.txt » -> « logfile/xx.yy.zz.uu.txt-20130227-100803 »
Sauvegarde de lastdate=20130227-100803


$ ls -l logfile/
total 0
-rw-r--r-- 1 elendil users 0 27.02.2013 10:04 XX.YY.ZZ.UU.txt
-rw-r--r-- 1 elendil users 0 27.02.2013 10:07 XX.YY.ZZ.UU.txt-20130227-100752
-rw-r--r-- 1 elendil users 0 27.02.2013 10:08 XX.YY.ZZ.UU.txt-20130227-100803
-rw-r--r-- 1 elendil users 0 27.02.2013 10:04 xx.yy.zz.uu.txt
-rw-r--r-- 1 elendil users 0 27.02.2013 10:07 xx.yy.zz.uu.txt-20130227-100752
-rw-r--r-- 1 elendil users 0 27.02.2013 10:08 xx.yy.zz.uu.txt-20130227-100803


$ ./script 
Effacement de: « logfile/XX.YY.ZZ.UU.txt-20130227-100752 » supprimé
Copie de:      « logfile/XX.YY.ZZ.UU.txt » -> « logfile/XX.YY.ZZ.UU.txt-20130227-100808 »
Effacement de: « logfile/xx.yy.zz.uu.txt-20130227-100752 » supprimé
Copie de:      « logfile/xx.yy.zz.uu.txt » -> « logfile/xx.yy.zz.uu.txt-20130227-100808 »
Sauvegarde de lastdate=20130227-100808


$ ls -l logfile/
total 0
-rw-r--r-- 1 elendil users 0 27.02.2013 10:04 XX.YY.ZZ.UU.txt
-rw-r--r-- 1 elendil users 0 27.02.2013 10:08 XX.YY.ZZ.UU.txt-20130227-100803
-rw-r--r-- 1 elendil users 0 27.02.2013 10:08 XX.YY.ZZ.UU.txt-20130227-100808
-rw-r--r-- 1 elendil users 0 27.02.2013 10:04 xx.yy.zz.uu.txt
-rw-r--r-- 1 elendil users 0 27.02.2013 10:08 xx.yy.zz.uu.txt-20130227-100803
-rw-r--r-- 1 elendil users 0 27.02.2013 10:08 xx.yy.zz.uu.txt-20130227-100808

Si je continue je n'ai pour chaque fichier que "3 versions" celle en cours, celle sauvegardé et celle de la semaine précédente. Et il me semble que c'est ce que tu veux avoir toujours une version sur 2 semaines et forcément celle en cours d'utilisation => 3 versions de chaque fichiers.

PS : J'ai juste trouvé un message d'erreur lors de la première exécution car il n'y a pas de fichiers IP.txt-DATE.
Du coup si tu ne veux pas ce message d'erreur, il faut remplacer la ligne 23 du script donné au post #18 par :

     for rlog in `ls $log-* 2> /dev/null`

En gros il faut juste rajouter le "2> /dev/null" pour que le message d'erreur ne s'affiche pas dans le terminal.

Hors ligne