EDIT : après plusieurs tests, il apparait que mon script fonctionne comme attendu lorsque je détaille les inclusions :
--include='Desktop/***' --include='Documents/***' --include='Downloads/***' --include='Music/***' --include='Pictures/***' --include='Videos/***' --include='Works/***'
Merci à toutes les réponses qui m’ont permis d’isoler le problème au fur et à mesure.
Bonjour tout le monde,
J’utilise rsync pour un petit script de sauvegarde de répertoires.
Je souhaite inclure uniquement certains répertoires du répertoire-source, mais c’est tout le contenu du répertoire-source qui est sauvegardé.
Merci d’avance pour vos éclaircissements.
#!/bin/bash
SOURCE="/home/muchos/"
DESTINATION="/media/muchos/muchos-bkp/backup/"
# Check for backup disk and interrupt script if necessary
if [ ! -e "$DESTINATION" ]
then
echo "Backup disk missing!"
exit
fi
# Making backups...
rsync -a --progress --stats --delete --include={'Desktop/***','Documents/***','Downloads/***','Music/***','Pictures/***','Videos/***','Works/***'} --exclude=* $SOURCE $DESTINATION
# Change date of the file
DATE=$(date -I)
touch $DESTINATION$DATE
exit
# --exclude-from= ?
Posté par pseudonymous . Évalué à 2 (+1/-0).
Pas le temps de chercher le pépin dans la version
--exclude=.Je me suis battu avec ça aussi il y a un paquet d'année.
J'ai mis au point mes scripts en utilisant
--exclude-from=finalement.Le paramètre est un fichier contenant les chemins relatifs à exclure de la synchro.
Mon fichier contient un chemin par ligne sous la forme
chemin/à/exclure, sans/, sans*. Ah ben justement, c'est peut-être là que le bas blesse dans la version--exclude=.# Interpretation Bash
Posté par gUI (Mastodon) . Évalué à 10 (+7/-0).
Attention, ce truc
--exclude=*va être interpété par Bash (il va étendre le*à tous les fichiers présents).Essaie avec
--exclude='*'ça devrait aller mieux.En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.
[^] # Re: Interpretation Bash
Posté par Olivier4400 . Évalué à 6 (+5/-0). Dernière modification le 25 août 2026 à 20:03.
Dans le même genre de conseil, ajouter "echo" devant l'appel à rsync pour voir ce que ce dernier voit réellement comme arguments, et aussi --dry-run tant que le problème persiste (surtout avec --delete…)
[^] # Re: Interpretation Bash
Posté par muchos (site web personnel) . Évalué à 1 (+0/-0).
Je supposais que
echose contenterait de répéter l’instruction ; je ne pensais pas qu’il allait l’expliciter. Merci pour cette information !Debug the Web together.
[^] # Re: Interpretation Bash
Posté par Gil Cot ✔ (site web personnel, Mastodon) . Évalué à 4 (+2/-0).
Ou échapper si l’on veut s’entêter à ne pas quoter :
--exclude=\*Pour poursuivre sur cette bonne lancée, c’est un peu la bonne fortune que ça fonctionne le
$SOURCE $DESTINATIONnon ?“It is seldom that liberty of any kind is lost all at once.” ― David Hume
Envoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.