Question sur script de sauvegarde en shell

bonjour

je souhaite réaliser un script de sauvegarde en .sh avec une boucle si c’est possible.

je voudrais qu’il exécute une commande pour savoir si le fichier placer en variable existe bien seulement voila j ai plusieurs fichier que je veux sauvegarde smb.conf;squid.conf etc…
et la je sèche car je ne voie pas comment faire
j avais penser a ceci mais c faux

1=xorg
2=smb.conf
package=``

while i < 5;
{
do
if [ -e -d dpkg -l | cut -d’ ’ -f3 | grep ^$i$ ]; then
package=$package '$i’
i = i++

}

merci de bien vouloir éclairer ma lanterne

[code]fichiers=“xorg.conf smb.conf”

for fichier in $fichiers ; do
find /etc -name “$fichier” -exec cp {} /backup ;
done[/code]
Ceci ne fonctionnerais-t’il pas ?

a oui effectivement merci misterfreez

j étais parti avec la commande set
je vais regarder pour voir la quel des 2 et la mieux
c’est que en fin de soire que je me suis rendu compte que la cmmande dpkg mindique juste si le fichier se trouve installer et non pas ou il se trouve y a des jours franchement je me demande ou se trouve ma tete

excusem moi misterfreez mais que signifie le -exec et pk \ entre {} merci pour ton aide

[quote=“man de find”] -exec commande ;
Exécuter la commande ; vrai si le code de retour 0 est renvoyé. Tous les paramètres qui suivent find sont considérés comme des paramètres
pour la ligne de commande, jusqu’à la rencontre d’un caractère « ; ». La chaîne «{} » est remplacée par le nom du fichier en cours de
traitement, ceci dans toutes ses occurrences sur la ligne de commande, et pas seulement aux endroits où elle est isolée, comme c’est le cas
avec d’autres versions de find. Ces deux chaînes peuvent avoir besoin d’être protégées du développement de la ligne de commande par le
shell, en utilisant le caractère d’échappement (« \ ») ou une protection par des guillemets. Consultez la section EXEMPLES pour des exem‐
ples d’utilisation de l’option -exec. La commande indiquée est exécutée à chaque fois qu’un fichier correspond. La commande est exécutée
depuis le répertoire de départ. Il existe d’inévitables problèmes de sécurité associés à l’usage de l’option -exec, c’est pourquoi vous
devriez utiliser l’option -execdir à la place.[/quote]
:wink:

bonjour
le script crée bien le repertoire de sauvegarde mais ne sauvegarde pas les fichiers de conf qu’il a pu trouver avant .
voici donc la parti réactualiser

[code]fichier=“xorg.conf smb.conf”

for fichier in $fichiers ; do
#i=$(date +%T-%d_%m_%Y)

find /etc/ -name samba -exec cp -v {} /home/zyriuse/Backup/ \; 
     
     done[/code]

merci de votre aide à tous
pour ma part la ligne ou se trouve cp et bonne il doit manquer un paramètre quel que part car hier soir j ai lue et relue le man de find et j ai trouver qui peu m’aider

Pas compris :unamused:

voici se que j’essaye de faire:
je souhaite que find trouve les fichiers mis dans une variable, si il les trouves alors il les copies dans le répertoire de sauvegarde
j suis presque voici la ligne de commande à l’heure actuel

find .  \( -name 'smb.conf' -o -name 'squid.conf' \) -print | cp
 -f {} /home/zyriuse/Backup

erreur: cp: opérande fichier manquant Pour en savoir davantage, faites: « cp --help ». ./papou.sh: line 29: -f: command not found
encore merci de votre aide à tous !! :wink: :wink:

[quote=“zyriuse”] find . \( -name 'smb.conf' -o -name 'squid.conf' \) -print | cp -f {} /home/zyriuse/Backup [/quote]

find . \( -name 'smb.conf' -o -name 'squid.conf' \) -exec cp -f \{\} /home/zyriuse/Backup \; :smt006

merci pour ton aide j ai reussit a trouver la bonne formule

find /etc ( -name ‘smb.conf’ -o name ‘pam.conf’ ) -exec cp -u {} /home/zyriuse/Backup/ ;

encore merci pour tt :exclamation: :exclamation: :exclamation: :smt006 :smt006