Bonsoir,

je suis sur la mise au point d'un petit script de sauvegarde perso, basé sur bash et l'ami rsync, et je tombe sur un os

Soit la variable rsync_cmd="rsync -vrRlpEogthq --delete --progress" définie au début du script.

Je l'utilise une 1re fois pour faire une sauvegarde interne de certains dossiers vers une partoche d'un autre DD interne à la machine, comme ça dans le script :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$rsync_cmd "$source" "$cible"
et tout va bien.

L'idée, c'est de sauvegarder aussi sur un DD externe (usb), à la suite de ce qui vient d'être fait, automatiquement si le DD est présent (détection ok).

Je vous mets juste la partie concernée, comme ça vous voyez que je teste bien la présence de mes source et cible :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
if [ $cptr_media = "1" ]; then 
	cible_ext="$champ"/"$cible_folder"
	if [ -d "$source" ] &&  [ -d "$cible_ext" ]; then 
	    echo "Script de sauvegarde :" "$champ" "détecté !"
	    echo "Script de sauvegarde : archivage de "$source" sur" "$cible_ext""..."
	    echo "$rsync_cmd" "$source" "$cible_ext"
	    #rsync...
(ligne 176) $rsync_cmd "$source" "$cible_ext"
	    echo $?
	    #127 avec ou sans /usr/bin/
	fi
fi
et voilà les résultats :
Script de sauvegarde : /media/MyPassport détecté !
Script de sauvegarde : archivage de /media/sdb3/save_debian sur /media/MyPassport/save_debox...
rsync -vrRlpEogthq --delete --progress /media/sdb3/save_debian /media/MyPassport/save_debox
./backup.sh: ligne176: rsync -vrRlpEogthq --delete --progress : commande introuvable
127

Du coup je rajoute "/usr/bin/" dans $rsync_cmd, je relance et re-paf !
{2 lignes identiques omises pour clarté}
/usr/bin/rsync -vrRlpEogthq --delete --progress /media/sdb3/save_debian /media/MyPassport/save_debox
./backup.sh: ligne176: /usr/bin/rsync -vrRlpEogthq --delete --progress: Aucun fichier ou dossier de ce type
127


Et pourtant, c'est la même commande que lors du premier passage, pour la sauvegarde interne...
Je ne comprends pas...

Le seul truc que je note, c'est typographique... La 1re erreur apparaît ainsi :
--progress :
quand la 2de s'affiche :
--progress:
Sans espace avant le ":"
Est-ce une piste ?

Et 127 ça veut dire, en Bash, command not found

Je suis sec, là, alors si quelqu'un a une idée, je le bénis