[rsync] Exclure un pattern de la synchro par défaut

rsync n’a pas de fichier de configuration général pour exclure un format de fichiers lors de la synchronation. Pour se dispenser de préciser la règle --exclude="truc" à chaque fois, on a recours à un wrapper dans ~/bin/rsync.

  1. #!/bin/sh
  2. # RSYNC wrapper to exclude files by default
  3. # https://unix.stackexchange.com/questions/21701/how-can-i-exclude-files-by-default-with-rsync
  4.  
  5. # Set path to the rsync binary
  6. RSYNC=/usr/bin/rsync
  7.  
  8. # Look for these exclude files
  9. IGNORE_FILES=(~/.rsyncignore ./.gitignore ./.rsyncignore)
  10.  
  11. EXCLUDE_FROM=""
  12. for f in ${IGNORE_FILES[@]}; do
  13.   if [[ -e $f ]]; then
  14.     EXCLUDE_FROM="$EXCLUDE_FROM --exclude-from=$f "
  15.   fi
  16. done
  17. $RSYNC $EXCLUDE_FROM "$@"

Télécharger

Puis dans un fichier /.rsyncignore

source Unix & Linux Stack Exchange