Computer >> Máy Tính >  >> Hệ thống >> Linux

Cách sử dụng rsync để sao chép tệp và thư mục trong Linux

Những điều cần biết

  • Sao chép dựa trên loại tệp: rsync /home/jon/Desktop/data/*.jpg / home / jon / Desktop / backupdata /
  • Sao chép dựa trên kích thước tệp: rsync --max-size =2k / home / jon / Desktop / data / / home / jon / Desktop / backupdata /
  • Sao chép toàn bộ thư mục: rsync --recursive / home / jon / Desktop / data / home / jon / Desktop / data2

Bài viết này giải thích cách sử dụng rsync chương trình truyền tệp cho Linux để sao chép thư mục và tệp, và thậm chí loại trừ tệp một cách có hệ thống. Như vậy, nó sẽ sao lưu các tệp dùng để lưu trữ trong khi tránh mọi thứ khác.

Cú pháp lệnh

Sử dụng rsync lệnh đúng yêu cầu bạn tuân theo cú pháp chính xác:

rsync [OPTION]... [SRC]... [DEST]
rsync [OPTION]... [SRC]... [USER@]HOST:DEST
rsync [OPTION]... [SRC]... [USER@]HOST::DEST
rsync [OPTION]... [SRC]... rsync://[USER@]HOST[:PORT]/DEST
rsync [OPTION]... [USER@]HOST:SRC [DEST]
rsync [OPTION]... [USER@]HOST::SRC [DEST]
rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]

Một số công tắc tùy chọn thường được sử dụng bao gồm:

  • -v , --verbose :Tăng độ chi tiết (cung cấp thêm chi tiết về những gì lệnh đang thực hiện).
    • --info = CỜ :Cung cấp thông điệp thông tin chi tiết.
    • --debug = CỜ :Cung cấp thông báo gỡ lỗi chi tiết.
    • --msgs2stderr :Xử lý đầu ra đặc biệt để gỡ lỗi.
  • -q , --quiet :Loại bỏ các thông báo không phải lỗi.
    • --no-motd :Loại bỏ thông báo chế độ daemon trong ngày.
  • -c , - tổng kiểm tra :Bỏ qua các tệp dựa trên tổng kiểm tra, không phải thời gian và kích thước mod.
  • -r , --recursive :Duyệt vào các thư mục con để tìm các tệp bổ sung.
  • -b , - dự phòng :Tạo bản sao lưu.
    • --backup-dir = DIR :Sao lưu vào một hệ thống phân cấp thư mục phù hợp.
    • --suffix = SUFFIX :Thêm văn bản hậu tố vào cuối tệp đã sao lưu.
  • -d , --dirs :Chỉ chuyển các thư mục mà không cần duyệt bên trong chúng.

Ví dụ về lệnh

Sử dụng rsync với một số tùy chọn đó để tinh chỉnh chiến lược sao lưu của bạn.

Sao chép có chọn lọc dựa trên loại tệp

rsync /home/jon/Desktop/data/*.jpg /home/jon/Desktop/backupdata/

Trong ví dụ này, tất cả các tệp JPG từ / data / sao chép thư mục vào / backupdata / thư mục trên Máy tính để bàn của người dùng Jon thư mục.

Sao chép tệp dựa trên kích thước

rsync --max-size=2k /home/jon/Desktop/data/ /home/jon/Desktop/backupdata/

rsync này ví dụ phức tạp hơn một chút vì nó được thiết lập thành not sao chép tệp nếu chúng lớn hơn 2.048 KB. Nó chỉ sao chép các tệp nhỏ hơn kích thước được chỉ định.

Sử dụng k, m, hoặc g để chỉ ra kilobyte, megabyte và gigabyte trong hệ số 1,024 hoặc kb , mb hoặc gb để sử dụng 1.000.

rsync --min-size=30mb /home/jon/Desktop/data/ /home/jon/Desktop/backupdata/

Điều tương tự cũng có thể được thực hiện đối với --min-size , cũng vậy. Trong ví dụ này, rsync chỉ sao chép các tệp có dung lượng từ 30 MB trở lên.

rsync --min-size=30mb --progress /home/jon/Desktop/data/ /home/jon/Desktop/backupdata/

Sử dụng --progress tùy chọn để xem quá trình hoạt động lên đến 100 phần trăm — tiện lợi khi bạn đang sao chép các tệp rất lớn.

Sao chép toàn bộ thư mục

rsync --recursive /home/jon/Desktop/data /home/jon/Desktop/data2

--recursive tùy chọn cung cấp một cách dễ dàng để sao chép toàn bộ thư mục sang một vị trí khác, chẳng hạn như / data2 / trong ví dụ trên.

Lệnh này sao chép toàn bộ thư mục và tất cả nội dung của nó vào vị trí mới.

Loại trừ một số tệp nhất định

rsync -r --exclude="*.deb" /home/jon/Desktop/data /home/jon/Desktop/backupdata​

Sao chép toàn bộ thư mục nhưng loại trừ các tệp có phần mở rộng tệp nhất định, chẳng hạn như tệp GỬI, trong ví dụ này ở trên. Toàn bộ / data / thư mục được sao chép vào / backupdata / như trong ví dụ trước, nhưng tất cả các tệp DEB đều bị loại trừ khỏi bản sao.