Probleme avec find et cp

Fermé
zyriuse - 3 déc. 2009 à 16:27
 Utilisateur anonyme - 4 déc. 2009 à 02:27
Bonjour,
je souhaite sauvegarder plusieur fichier de configuration sur ma debian , pour que le script puisse trouver les différents fichier de configuration j utilise la commande suivi de cp pour qu il me copie les fichiers trouver dans un repertoire crée au préalable .
fichier="smb.conf"

for fichier in $fichier ; do
find /etc -name "$fichier" -exec cp -uv {} /home/user/sauvegarde/ \;

done

u de cp signifie qu il copie que si il se trouve plus récent.
v pour verbose.


merci de vos réponse à tous
A voir également:

7 réponses

Utilisateur anonyme
3 déc. 2009 à 16:59
À ta place, je créerais un tableau (array), contenant les chemins/noms des fichiers que tu souhaites copier.

Par exemple, pour tous les fichiers sous /etc/apache2/ et pour /etc/smb.conf
Array=( /etc/{apache2/*,smb.conf} )
for fichier in ${Array[@]}
do if [ -f $fichier ]
then cp -uv $fichier /home/user/sauvegarde/
fi
done
0
merci pour ton aide qqchquicommenceparQ, mais j ai toujour le même problème avec la commande cp il ne me copie pas les fichiers :@ gr..
il crée bien le répertoire de sauvegarde mais y a rien de dans sniff et le je commence à bien beugué sur le problème.
0
Utilisateur anonyme
3 déc. 2009 à 22:41
???
mkdir Dir
touch Dir/file{1..5}
mkdir CPdir
Array=( Dir/* )
for fichier in ${Array[@]}
do if [ -f $fichier ]
then cp -uv $fichier CPdir/
fi
done
`Dir/file1' -> `CPdir/file1'
`Dir/file2' -> `CPdir/file2'
`Dir/file3' -> `CPdir/file3'
`Dir/file4' -> `CPdir/file4'
`Dir/file5' -> `CPdir/file5'
Tu vois, ça fonctionne !

Envoie le reste du script, peut-être.
0
effectivement sa fonctionne mais c'est par encore se que je cherche on touche presque au but la
le script dois rechercher des fichier de conf samba,squid,ldap etc...
si il les trouve alors il les sauvegardes dans le répertoire crée juste avant


je remercie énormément pour ton aide !!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
4 déc. 2009 à 00:59
Comment est-ce que tu les identifies ? Je veux dire : comment sais-tu qu'il s'agit des fichiers de conf des programmes cités?
0
je pensais faire un find / -name ...
et si il trouve le fichier placer dans la variable alors il le copie .

mais j pense la c'est pas possible qu'il me le copie car il ne sait pas ou il se trouve mais juste qu'il existe
0
Utilisateur anonyme
4 déc. 2009 à 02:27
Ouais, si tu ne sais pas où ils sont il vaut mieux passer par un find (tout seul, sans boucle for), du genre

find /etc/ -type f \
   -name smb.conf \
-o -name squid.conf \
-o -name ldap.conf \
-exec cp -uv {} /home/user/sauvegarde/ \;
0