- Fedora-Fr
- À propos de Fedora-Fr
- Historique
- Statistiques
- Télécharger
- Obtenir Fedora
- Toutes les méthodes de téléchargement
- Support
- Aide sur IRC
- Forums
- Documentation
- Sous-projets
- Plateforme de blog
Dernière news : Clap de fin pour Fedora Linux 35 !
Bonjour tout le monde
J’ai un script bash qui sauvegarde des données avec Rsync. Données contenus dans plusieurs dossiers différents.
J’ai une fonction qui contient la même commande Rsync pour les différents dossiers. Les chemins source et destination sont dans des variables.
function SauvData(){
rsync -ah --delete-after "$DossierSource1" "$DossierDestination1"
rsync -ah --delete-after "$DossierSource2" "$DossierDestination2"
rsync -ah --delete-after "$DossierSource3" "$DossierDestination3"
}
Je voudrais placer la commande rsync dans une variable pour éviter de la répéter :
RsynCmd="rsync -ah –delete-after"
function SauvData(){
"$RsynCmd" "$DossierSource1" "$DossierDestination1"
"$RsynCmd" "$DossierSource2" "$DossierDestination2"
"$RsynCmd" "$DossierSource3" "$DossierDestination3"
}
J’ai essayé plusieurs écritures, mais aucune ne fonctionne :
RsynCmd="rsync -ah –delete-after"
RsynCmd=’rsync -ah –delete-after’
RsynCmd=$(rsync -ah –delete-after)
J’ai systématiquement l’erreur
rsync -ah --delete-after : commande introuvable
C'est probablement toute bête, mais je sèche, donc si quelqu’un peut m’aider à comprendre ce qui ne fonctionne pas
Merci beaucoup.
Hors ligne
Mets le chemin complet de la commande.
AMD R7 5800x X470 64Go DDR4 3.6Ghz, RX5700XT + AMD R7 2700x A320 + 32Go DDR4 3.2Ghz, rx6500xt 4Go
AMD R5 5600g B550 itx, 32Go +AMD R5 2600 A320,1030GT, 16Go + AMD A6 9500 A320, 8Go
Rpi4 4go
Hors ligne
Bonjour,
Tout d’abord, je suis désolé d’avoir posté dans la mauvaise rubrique, je viens de m'en apercevoir. Je voulais poster dans Fedora Cloud & Fedora Server. Bref.
Merci pour la réponse rapide qui est très juste
J’ai finalement trouvé d’où venait le problème, il faut utiliser la commande eval devant la variable.
Source : https://www.linuxshelltips.com/store-li … -variable/
RsynCmd="/usr/bin/rsync -ah --delete-after"
function SauvData(){
eval "$RsynCmd" "$DossierSource1" "$DossierDestination1"
eval "$RsynCmd" "$DossierSource2" "$DossierDestination2"
eval "$RsynCmd" "$DossierSource3" "$DossierDestination3"
}
Ça fonctionne correctement maintenant.
Sujet indiqué comme résolu.
Merci
Hors ligne