Mối quan hệ của rsync với các tệp đặc biệt


8

Tôi đang cố gắng chuyển một số bản sao lưu hiện có từ hệ thống này sang hệ thống khác. Hệ thống sao lưu cũ dường như đã quản lý để sao lưu các tệp đặc biệt như / dev / hda, / dev / tty0 và / dev / null trông giống như chúng được tạo ra như một phần của quá trình xây dựng hệ điều hành.

Vì vậy, tôi đã cố gắng chuyển rsyncchúng sang máy mới nhưng tôi vẫn nhận được rất nhiều tin nhắn như:

bỏ qua tệp không thường xuyên "machineX / mới nhất / home / machineX / build / image / rh62 / dev / agpgart"

Lệnh tôi đang sử dụng là:

rsync -avz /oldbackups/machineX/ newbackups:~/machineX/

AFAIK:

-a (lưu trữ) có nghĩa là -rlptgoD

-D có nghĩa là --specials --devices

Tôi đã kiểm tra các tập tin:

$ ls -la machineX/latest/home/machineX/build/image/rh62/dev/agpgart 
crw-rw-r-- 1 500 500 10, 175 Feb  4  2000 machineX/latest/home/machineX/build/image/rh62/dev/agpgart
$ file machineX/latest/home/machineX/build/image/rh62/dev/agpgart
machineX/latest/home/machineX/build/image/rh62/dev/agpgart: character special

Vì vậy, đây là những tập tin đặc biệt nên được bao phủ bởi các --specialchuyển đổi, không?

Tại sao nó vẫn bỏ qua các tập tin này?


Để tham khảo Tôi đang sử dụng rsync với các chi tiết sau:

$ rsync --version
rsync  version 3.0.9  protocol version 30
Copyright (C) 1996-2011 by Andrew Tridgell, Wayne Davison, and others.
Web site: http://rsync.samba.org/
Capabilities:
    64-bit files, 64-bit inums, 32-bit timestamps, 64-bit long ints,
    socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
    append, ACLs, xattrs, iconv, symtimes

Câu trả lời:


8

Không phải --speciallà "nên" đồng bộ hóa các thiết bị, nó là công --devicestắc gián tiếp. Cho rằng mantrang nói:

--devices
       This option causes rsync to transfer character and block  device
       files  to  the  remote  system  to recreate these devices.  This
       option has no effect if the receiving rsync is not  run  as  the
       super-user (see also the --super and --fake-super options).

và bạn dường như không đăng nhập bằng root trên hệ thống từ xa, điều này làm cho tùy chọn không có hiệu lực.


Tại chỗ trên. --super là những gì tôi đã sau. Sẽ tốt hơn nếu thông báo lỗi là một cái gì đó như "bỏ qua do quyền từ xa" hoặc một số như vậy.
tu-Tái lập Monica-dor duh

@tudor Điều đó không có ý nghĩa, nhưng tôi đồng ý rằng lý do đưa ra là quá chung chung. Có thể bạn đã tìm thấy một dự án nghỉ hè (hoặc mùa đông, tùy thuộc vào bán cầu của bạn) để cung cấp một bản vá cho dự án ;-).
Anthon

Có vẻ như một điều kiện là nó không phải là một tập tin thông thường. "if (! IS_REG (file-> mode))" github.com/AndyA/rsync/blob/ợi Phần trước kiểm tra amroot, vì vậy điều đó có nghĩa là mọi lỗi từ mệnh đề đó sẽ là "... và bạn ' không root ở phía xa. "? :-p
tu-Tái lập Monica-dor duh

@tudor Tôi không chắc chắn 100% bạn chỉ nên thay thế, nhưng chỉ kiểm tra nó một lần nữa ở đó và thêm "(và không phải root của bạn)" vào tin nhắn nếu bạn không phải là một thông tin và không có khả năng phá vỡ bất cứ điều gì. Repo ban đầu là trên trang web samba.org BTW.
Anthon
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.