Přidejte své výjimky do souboru a poté použijte --exclude-from=/path/to/exclude_file
např.
# cat rsync.excludes
.ht*
error_log
.DS*
old
...
# rsync --exclude-from=rsync.excludes
Ne, rsync
nemá výchozí konfigurační soubor, který bude číst při vyvolání. Nejlepší, co můžete udělat, je to, co říká @frogstarr78, a vytvořit textový soubor se vzory, názvy souborů a adresářů, které chcete vyloučit, a pak bod rsync
k tomu pomocí --exclude-from=filename
.
I když vám rsync neumožňuje nastavit výchozí možnosti, můžete vytvořit skript wrapper a umístit jej výše ve vaší $PATH než binární soubor rsync.
Toto je můj rsync wrapper, který žije v ~/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]"
Bude to hledat ~/.rsyncignore
, ./.gitignore
, ./.rsyncignore
a pokud nějaké existují, použijte je jako výchozí --exclude-from
argumenty.
Stačí změnit RSYNC a IGNORE_FILES tak, aby vyhovovaly vašemu prostředí a preferencím.