Aggiungi le tue esclusioni a un file, quindi usa --exclude-from=/path/to/exclude_file
ad esempio
# cat rsync.excludes
.ht*
error_log
.DS*
old
...
# rsync --exclude-from=rsync.excludes
No, rsync
non ha un file di configurazione predefinito che leggerà all'invocazione. Il meglio che puoi fare è quello che dice @frogstarr78 e creare un file di testo con modelli, nomi di file e directory da escludere, quindi puntare rsync
ad esso con --exclude-from=filename
.
Sebbene rsync non ti consenta di impostare le opzioni predefinite, puoi creare uno script wrapper e inserirlo più in alto nel tuo $PATH rispetto al binario rsync.
Questo è il mio wrapper rsync che risiede in ~/bin/rsync
#!/bin/sh
# Set path to the rsync binary
RSYNC=/usr/bin/rsync
# Look for these exclude files
IGNORE_FILES=(~/.rsyncignore ./.gitignore ./.rsyncignore)
EXCLUDE_FROM=""
for f in ${IGNORE_FILES[@]}; do
if [[ -e $f ]]; then
EXCLUDE_FROM="$EXCLUDE_FROM --exclude-from=$f "
fi
done
$RSYNC $EXCLUDE_FROM "[email protected]"
Cercherà ~/.rsyncignore
, ./.gitignore
, ./.rsyncignore
file e, se esistono, utilizzali come --exclude-from
predefiniti argomenti.
Basta cambiare RSYNC e IGNORE_FILES per adattarli al tuo ambiente e alle tue preferenze.