あるシステムから別のシステムに既存のバックアップを転送しようとしています。古いバックアップシステムは、/ dev/hda、/ dev/tty0、/ dev/nullなど、OSビルドプロセスの一部として作成されたように見える特別なファイルをバックアップできたようです。
それで私はそれらを新しいマシンにrsync
しようとしましたが、次のような大量のメッセージを受け取り続けます:
非正規ファイル「machineX/latest/home/machineX/build/image/rh62/dev/agpgart」をスキップする
私が使用していたコマンドは次のとおりです。
rsync -avz /oldbackups/machineX/ newbackups:~/machineX/
私の知る限り:
-a
(アーカイブ)は-rlptgoD
を意味するはずです
-D
は--specials
--devices
を意味するはずです
私はファイルをチェックしました:
$ 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
つまり、これらは--special
スイッチでカバーする必要のある特別なファイルです。
なぜこれらのファイルをスキップしているのですか?
参考までに、私はこれらの詳細でrsyncを使用しています:
$ 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
そうではない --special
デバイスを同期する必要があります。それは--devices
間接スイッチ。そのため、man
ページには次のように書かれています。
--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).
また、リモートシステムにrootとしてログインしていないようです。そのため、このオプションは効果がありません。