Làm cách nào để loại trừ các tệp theo mặc định với rsync?


12

Làm cách nào để loại trừ các tệp theo mặc định với rsync? Đây là cách cú pháp rsync bình thường của tôi bắt đầu:

rsync --exclude ".ht*" --exclude "error_log" --exclude ".DS*" --exclude "old" ...

Tôi đã thấy rất nhiều đề cập đến việc định cấu hình /etc/rsyncd.conftệp, nhưng có lẽ đó là nhiều hơn cho daemon hơn là lệnh rsync.

Có thể có một số loại trừ mặc định cho rsync khi được gọi từ dòng lệnh như trong cú pháp mặc định của tôi ở trên không?

Câu trả lời:


10

Thêm loại trừ của bạn vào một tệp, sau đó sử dụng --exclude-from = / path / to / Elim_file

ví dụ

# cat rsync.excludes
.ht*
error_log
.DS*
old
...

# rsync --exclude-from=rsync.excludes

1
Có vẻ như cú pháp là --exclude-fromvà không --exclude-filenhưng nếu không thì đây có vẻ là vé. cảm ơn!
cwd

5

Không, rsynckhông có tệp cấu hình mặc định mà nó sẽ đọc khi gọi. Điều tốt nhất bạn có thể làm là những gì @ ếchstarr78 nói và tạo một tệp văn bản với các mẫu, tên tệp và thư mục để loại trừ, sau đó trỏ rsyncđến nó --exclude-from=filename.


2
rsync does not have a default configuration file- thật đáng thất vọng
cwd

3

Mặc dù rsync không cho phép bạn đặt các tùy chọn mặc định, bạn có thể tạo tập lệnh bao bọc và đưa nó lên cao hơn trong $ PATH của bạn so với nhị phân rsync.

Đây là trình bao bọc rsync của tôi sống trong ~/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 "$@"

Nó sẽ tìm kiếm ~/.rsyncignore, ./.gitignore, ./.rsyncignoretập tin và, nếu ai trong số họ tồn tại, sử dụng chúng như mặc định --exclude-fromđối số.

Chỉ cần thay đổi RSYNC và IGNORE_FILES cho phù hợp với sở thích và sở thích của bạn.


0

--exclude "/ *" sẽ loại trừ mọi thứ theo mặc định. Đây là một ví dụ:

rsync -av - bao gồm "bin /" --exclude "/ *" / source_dir / / Dest_dir /
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.