我已将我的文件(只是文本文件、jpeg、电影)从我的旧 Windows 电脑转移到我刚刚购买的独立 Linux 笔记本电脑(s/h Dell Linux Mint 17.1)。要将这些文件备份到USB,备份工具有两个问题:
- (1) 该工具不会从 USB 中删除我从笔记本电脑中删除的文件,这意味着要通过 USB 来删除它们,
- (2)每次要备份都需要设置Tool,很烦人。
我只用了几周时间就了解了 Linux。我编写了以下脚本,从终端快速运行:
#!/bin/bash
rsync -arh --quiet --delete ~/ /media/my-laptop/my-usb
我怀疑这有问题。一切似乎都或多或少地工作正常(即每次运行脚本后的USB都有硬盘上内容的精确副本),但是(使用ctrl h)我看到隐藏文件也被复制,并生成过程中出现很多错误信息,例如:
rsync : mkstemp “media/my-pc/my-usm/.local/share/Trash/files/. …...” failed : Invalid argument (22).
rsync : symlink “media/my-pc/my-usm/.local/share/Trash/files/….” → “….” failed : Operation not permitted (1).
请简单修改一下我的2行#!上面的脚本允许我备份我的文件,并且只是我的文件,没有隐藏文件和相关的错误消息?
答案1
与其试图避免备份点文件,不如查看这些文件备份失败的原因。
您的备份目标可能是 FAT 文件系统。这无法处理与您的文件关联的所有元数据(所有权、权限等),因此您不会制作数据的“真实”副本。
这里的一种选择是将设备重新格式化为ext4
文件系统并备份到该文件系统。您可以获得适用于 Windows 的 FOSS 驱动程序来读取ext4
文件系统,这样您就不会孤立数据。
如果您要重新格式化 USB 设备,请仔细检查您要格式化的设备是否正确。如果你删除了根文件系统,那么恢复起来会非常困难。
我希望它是就像是 /dev/sdb1
但不是/dev/sda*
。您也许可以使用命令确定设备mount | grep /media
,但请确保设备名称与从 获得的设备名称不同mount | grep '/$'
。如果有疑问,请使用命令的完整结果更新您的问题mount
。
另一种选择是使用增量备份工具,例如duplicity
.
答案2
如果你这样做不是想要包含“隐藏”文件,您可以告诉rsync
忽略那些:
--exclude=".*"
所以,根据你的例子,它会是这样的:
rsync -arh --quiet --exclude=".*" --delete ~/ /media/my-laptop/my-usb
编辑:
但请注意,这种方法意味着您将不是备份任何.
您的配置文件(以文件名开头的“隐藏”文件)。