Script de Gestion de MAJ - Shell/Batch - Programmation
MarshPosté le 18-11-2006 à 19:31:05
Bonjour !
Voila j'aimerai réaliser un script permetant de copier les fichiers modifies d'un repertoire R1 depuis une date T afin de les recopier dans un autre repertoire R2.
Mais voici mon probleme :
Dans le cas ou le fichier suivant a été modifié : R1/sousR1/fichiermodifier.txt
Comment faire pour que le cp copie le fichier fichiermodifier.txt tout en creean le dossier sousR1 pour avoir a la fin : R2/sousR1/fichiermodifier.txt
Voila mon script acctuel :
Citation :
#!/bin/bash
#repertoire à sauvegarder asauvegarde=/home/bernard/projet
#lieu de la sauvegarde sauv=/media/usbdisk/projet
#on recupere la date courante dte=$(date +%y%m%d%H%M%S)
#fichier liste Fichiers_Modifs=Fichiers_Modifs
#fichier date DateMaj=DateMaj
#si le fichier de listage est pas creer on le creer if [ -e $PWD/$Fichiers_Modifs ] then echo "Fichier liste présent" else echo "Creation du fichier liste " > $PWD/$Fichiers_Modifs fi
#si le fichier de date est pas creer on le creer if [ -e $PWD/DateMaj ] then echo "Fichier date présent" else echo "Creation du fichier date " > $PWD/$DateMaj fi
#On recherche nouvelles modifications #On inscrit la liste des fichiers modifié dans $Fichiers_Modifs find $asauvegarde -type f -newer $PWD/$DateMaj > $PWD/$Fichiers_Modifs
if [ -s $PWD/$Fichiers_Modifs ] then echo "Maj réussie" #On met a jour la date de la derniere maj touch $PWD/$DateMaj liste=$(cat $PWD/$Fichiers_Modifs) cp -r $liste $sauv else echo "Rien a sauvegarder" fi
Marsh Posté le 18-11-2006 à 19:31:05
Bonjour !
Voila j'aimerai réaliser un script permetant de copier les fichiers modifies d'un repertoire R1 depuis une date T
afin de les recopier dans un autre repertoire R2.
Mais voici mon probleme :
Dans le cas ou le fichier suivant a été modifié : R1/sousR1/fichiermodifier.txt
Comment faire pour que le cp copie le fichier fichiermodifier.txt tout en creean le dossier sousR1 pour avoir a la fin :
R2/sousR1/fichiermodifier.txt
Voila mon script acctuel :
#!/bin/bash
#repertoire à sauvegarder
asauvegarde=/home/bernard/projet
#lieu de la sauvegarde
sauv=/media/usbdisk/projet
#on recupere la date courante
dte=$(date +%y%m%d%H%M%S)
#fichier liste
Fichiers_Modifs=Fichiers_Modifs
#fichier date
DateMaj=DateMaj
#si le fichier de listage est pas creer on le creer
if [ -e $PWD/$Fichiers_Modifs ]
then
echo "Fichier liste présent"
else
echo "Creation du fichier liste "
> $PWD/$Fichiers_Modifs
fi
#si le fichier de date est pas creer on le creer
if [ -e $PWD/DateMaj ]
then
echo "Fichier date présent"
else
echo "Creation du fichier date "
> $PWD/$DateMaj
fi
#On recherche nouvelles modifications
#On inscrit la liste des fichiers modifié dans $Fichiers_Modifs
find $asauvegarde -type f -newer $PWD/$DateMaj > $PWD/$Fichiers_Modifs
if [ -s $PWD/$Fichiers_Modifs ]
then
echo "Maj réussie"
#On met a jour la date de la derniere maj
touch $PWD/$DateMaj
liste=$(cat $PWD/$Fichiers_Modifs)
cp -r $liste $sauv
else
echo "Rien a sauvegarder"
fi
Merci !