Question sur script bash

Fermé
thomas57070 Messages postés 178 Date d'inscription mercredi 7 décembre 2011 Statut Membre Dernière intervention 31 janvier 2014 - 17 oct. 2013 à 10:34
 Utilisateur anonyme - 17 oct. 2013 à 15:49
Bonjour à tous,

Voilà bien avancé sur un script de sauvegarde je bloque sur un point.

Je fais une sauvegarde d'un répertoire, ensuite l'archive est copié dans un dossier temp et désarchiver dans un dossier avec un nom propre a l'archive.

Ce que je veux faire c'est de trouver les fichiers différents entre les deux répertoires. Car après ma copie si les fichiers originaux ont été modifié je voudrait savoir lesquels comparer à mon archive la plus récente.

Mes chemins :
-fichier originaux : ~/"répertoires de sauvegarde"/fichier1 fichier 2 fichier 3
--archive dans un dossier de backup
---cp de l'archive dans le temp
----désarchivage
-----rm du .tar dans le temp (pour n'avoir que ce qui m'est utile)

-archive : ~/temp/"répertoires ou l'archive est dezip"/~/"répertoires de sauvegarde"/fichier 1 fichier 2 fichier 3


diff -r ~/temp/"répertoires ou l'archive est dezip" ~/"répertoires de sauvegarde"

mais cette commande ne renvoie pas se que je veut.
J'aimerais avoir le fichier 1 original est "différent ou identique" a fichier 1 sauvegarder etc.. pour les autres fichiers.
Peut être avec un find plus un diff mais je ne voit pas du tout comment faire...

J'espère avoir été assez clair.
En espérant que quelqu'un puisse me débloquer.
Merci

2 réponses

thomas57070 Messages postés 178 Date d'inscription mercredi 7 décembre 2011 Statut Membre Dernière intervention 31 janvier 2014 8
17 oct. 2013 à 11:15
Ou autre alternative trouver le(s) fichier(s) les plus récents entre deux répertoires.
0
Utilisateur anonyme
17 oct. 2013 à 15:49
bonjour,

cette commande ne renvoie pas se que je veut.
qu'affiche-t-elle ?
que voudrais-tu qu'elle affiche ?

voilà une piste:
find /chemin/original -type f -exec bash -c 'cmp -s "$1" "${2/#\/chemin\/original//chemin/sauvegarde}" && echo "$1 et $2 sont différents" || echo "$1 et $2 sont identiques"' {} {} \;
0