我正在尝试使用 Mac 上的 cp 和/或 rsync 将数据从一个外部硬盘备份到另一个外部硬盘。
给出的外部驱动器diskutil list
是:
/dev/disk2 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *1.0 TB disk2
1: Apple_HFS Transcend 1.0 TB disk2s1
/dev/disk3 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *1.0 TB disk3
1: Windows_NTFS Seagate Backup Plus ... 1.0 TB disk3s1
它们分别被安装在/Volumes/Transcend/
和上/Volumes/Seagate
。
cp -R ebooks/ /Volumes/Transcend/ebooks/
运行一段时间后出现以下错误:
cp: ebooks//中國敦煌學百年文庫: unable to copy extended attributes to /Volumes/Transcend/ebooks/中國敦煌學百年文庫: Device not configured
cp: ebooks//中國敦煌學百年文庫: Device not configured
cp: ebooks//中國明朝檔案總彙: unable to copy extended attributes to /Volumes/Transcend/ebooks/中國明朝檔案總彙: Device not configured
rsync
引发同样的错误:
$ rsync -r ebooks/ /Volumes/Transcend/ebooks/
rsync: link_stat "ebooks/." failed: Permission denied (13)
rsync error: some files could not be transferred (code 23) at /BuildRoot/Library/Caches/com.apple.xbs/Sources/rsync/rsync-52.200.1/rsync/main.c(996) [sender=2.6.9]
$ sudo rsync -r ebooks/ /Volumes/Transcend/ebooks/
Password:
rsync: link_stat "/Volumes/Seagate/ebooks/." failed: Device not configured (6)
rsync error: some files could not be transferred (code 23) at /BuildRoot/Library/Caches/com.apple.xbs/Sources/rsync/rsync-52.200.1/rsync/main.c(996) [sender=2.6.9]
我还能怎样从这里完成备份?(完成度不到 50%。)
更新:
某些Device not configured (6)
错误显然是由于 NTFS 卷在该rsync
过程中被卸载而导致的。
chkdsk
在 Win7 机器上运行 NTFS 卷后,修复了一些磁盘错误,我可以轻松地使用 挂载该卷ntfs-3g
。
rsync
但运行一段时间后还是出现如下错误:
三編第092冊/000732.pdg": Device not configured (6)
rsync: send_files failed to open "/Volumes/Seagate/ebooks/叢書集成三編/叢書集成三編第092冊/000733.pdg": Device not configured (6)
rsync: send_files failed to open "/Volumes/Seagate/ebooks/叢書集成三編/叢書集成三編第092冊/000734.pdg": Device not configured (6)
我修改了我的rsync
命令,以便它可以在发生中断之后从中断的地方继续。
rsync -avhP --iconv=utf-8,utf8-MAC --stats --progress --info=progress2 /Volumes/Seagate/ebooks/ /Volumes/Transcend/ebooks
我注意到的一件事是,ntfs-3g
当 rsync 仍在运行时会自动卸载 Seagate 卷,从而导致上述错误。
我已经能够rsync
通过重新安装 Seagate 卷来再次运行sudo ntfs-3g /dev/disk3s1/ /Volume/Seagate/
。
因此,下一个问题是:为什么ntfs-3g
在整个rsync
过程完成之前不能保持驱动器挂载? 是不是哪里出了问题,还是我的命令中遗漏了什么?