Tambahkan pengecualian Anda ke file, lalu gunakan --exclude-from=/path/to/exclude_file
mis.
# cat rsync.excludes
.ht*
error_log
.DS*
old
...
# rsync --exclude-from=rsync.excludes
Tidak, rsync
tidak memiliki file konfigurasi default yang akan dibaca saat dipanggil. Yang terbaik yang dapat Anda lakukan adalah apa yang dikatakan @frogstarr78 dan buat file teks dengan pola, nama file dan direktori untuk dikecualikan, lalu arahkan rsync
dengan --exclude-from=filename
.
Meskipun rsync tidak mengizinkan Anda menyetel opsi default, Anda dapat membuat skrip pembungkus dan meletakkannya lebih tinggi di $PATH daripada biner rsync.
Ini adalah pembungkus rsync saya yang ada di ~/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]"
Ini akan mencari ~/.rsyncignore
, ./.gitignore
, ./.rsyncignore
file dan, jika ada, gunakan sebagai --exclude-from
default argumen.
Cukup ubah RSYNC dan IGNORE_FILES agar sesuai dengan lingkungan dan preferensi Anda.