如何在 btrfs 分区上取消删除(恢复)已删除的文件?
我还没有拍摄快照,所以我无法使用该功能。我知道有一些 适用于其他 Linux 文件系统的工具,但 google 还没有找到任何特定于 btrfs 的东西。我曾模糊地提到 btrfs 包含一个取消删除工具,但我找不到它。在为另一个文件系统尝试工具之前,我在这里问。
rsync命令错误删除。有没有人有一个 bash 脚本,它将通过媒体库并将每个 MP3 文件的 id3 标题标签设置为等于文件名?
我也对其他自动化方法持开放态度。它可以是一个 GUI 应用程序或任何可以自动完成工作的东西。
这里记录了一个 EasyTag 方法:如何在 mp3 ID3 文件中重命名批量标题标签- 不幸的是,我不明白这些步骤。
我想使用 unison 同步以下位置:
统一命令行参数是什么?基于此,我可以猜测
如果给出了一个或多个路径首选项,则 Unison 将仅同步这些路径及其子路径。(例如,这对于仅对一个目录进行快速同步很有用。)请注意,路径首选项是按字面解释的——它们不是正则表达式。
这是我的猜测。那是对的吗?
unison -ui text /home/user /nocrypt/Shared -path Audiobooks -path Music -path Podcasts
Run Code Online (Sandbox Code Playgroud)
我也可以使用个人资料。我阅读了帮助文档并找到了我改编的示例。但是,我不确定它是否正确。
从帮助文档修改:这是一个更复杂的配置文件,说明了一些其他有用的功能。
# Roots of the synchronization
root = /home/user
root = /shared
# Paths to synchronize
path = Audiobooks
path = Music
path = Podcasts
Run Code Online (Sandbox Code Playgroud)
那是对的吗?
当我写完这个问题时,我几乎已经想通了。我认为上述两种方法都是正确的。一致的好处在于您可以像进行实际同步一样进行“试运行”。默认操作始终为“无操作”(在呈现所有更改之后)。我现在要测试它,看看它是否有效。我想我不需要答案,但我会将这个问题留在这里以供参考(并自己回答并确认这是否有效)。
我收到标题中提到的错误。
我发现了这个类似的问题:Run rsync with root permission on remote machine。那不能回答我的问题。
我是远程服务器上的管理员,我想用它rsync来将文件备份到我的本地机器上。这是我的 rsync 命令:
$ rsync -avz me@myserver.com:/var/www/ /backups/Sites/MySite/
Run Code Online (Sandbox Code Playgroud)
它主要是有效的。登录是通过密钥对进行的。我没有也不能使用密码(编辑:通过 SSH 登录)。由于权限,只有少数文件不会传输。我不想更改这些权限。
这是错误:
receiving file list ... done
rsync: send_files failed to open "/var/www/webapp/securestuff/install.php": Permission denied (13)
Run Code Online (Sandbox Code Playgroud)
我不是想改变这个文件的权限。它(以及其他类似的)不应该是可读的(root 除外)。
这必须在 cron 作业中运行,我更喜欢仅使用 rsync 命令的简单单行解决方案。下一个选择是我可以从 cron 作业调用的 shell 脚本。在任何情况下,我都不能手动登录远程机器并成为 root(因为运行时我会睡觉。
如何使用 rsync 将其备份到我的本地机器上?
我正在运行 Kubuntu 12.04。我有一个全新的,从未使用过的希捷 3TB ST3000DM001 硬盘。这是一个内部驱动器。我将其安装在 USB 外壳中。
当我将它连接到我的 PC 时,没有任何自动发生。当我运行时sudo fdisk -l,fdisk 挂起(不报告此驱动器),直到我将该驱动器与 USB 端口断开连接。blkid也不会举报。
我尝试将其连接到 PC 上的 USB 2.0 和 USB 3.0 端口。无论哪种方式,我都得到了相同的结果。我尝试了两种不同的 USB 外壳,结果相同。
如果我使用相同的驱动器、相同的外壳并将其连接到 Windows 7 笔记本电脑,它会被自动识别为 USB 大容量存储设备。
我想格式化驱动器(可能是 ext4)并将文件复制到它。我有另一个驱动器,也在一个 USB 外壳中,它通过 USB 3.0 连接到这台 PC,它工作正常。这是一个 2.0 TB 的三星硬盘。一旦我解决了这个问题,我计划将文件从 2TB 复制到 3TB 驱动器。
我的主板是 Asus P8B WS LGA1155/ Intel C206/ Quad CrossFireX/ SATA3&USB3.0/ A&2GbE/ ATX。Linux 内核是 3.2。
多次连接尝试的 dmesg 输出:
[43595.344419] usb 2-1.1: new high-speed USB device number 4 using ehci_hcd …Run Code Online (Sandbox Code Playgroud) 我电脑上所有内容相同的文件现在都是硬链接的。(我的数据已完全去重。这是我从旧计算机复制数据的方式的结果。)
现在我需要注意哪些陷阱,对一个文件的某些操作可能会默默地影响许多其他文件?
我知道删除我正在处理的文件不是问题(假设我是故意删除的)。它不会影响任何其他硬链接文件,而且我认为删除操作不会导致意外的副作用。
移动或重命名文件不是问题。我没有看到任何意外的后果。
我不认为复制硬链接文件是一个问题,但我对这方面的任何意外后果没有信心。我所看到的是,制作硬链接文件的副本(到同一磁盘)并cp保持副本硬链接(即,副本中的 inode 编号不会更改)。复制到另一个文件系统显然会破坏硬链接。(鉴于我的 PC 有 3 个硬盘,我想一个陷阱是忘记了这一事实。)
更改权限确实会影响所有链接的文件。到目前为止,这已经证明很方便。(我将大量硬链接文件设为只读。)
上述操作似乎都没有产生任何重大的意外后果。
但是,正如 Daniel Beck 在评论中向我指出的那样,编辑或修改文件有时可能是一个问题。这取决于工具,也可能取决于编辑类型。(例如,使用 sed 编辑小文本文件似乎总是会断开链接,而使用 nano 则不会。)这引入了编辑一个文件可能会影响所有硬链接文件(即更改原始 inode)的可能性。
我对此提出的解决方案是将所有硬链接文件设为只读(这已经是大多数情况了)。如果我不能对某些文件执行此操作,我将取消链接这些特定文件。这种只读方法有什么问题吗?
我假设如果我去编辑一个文件并发现它是只读的,我会记得在使其可写的同时取消该文件名的链接。所以一个陷阱可能是忘记了这条规则。在这种情况下,我将不得不依赖我的备份。
我在上述陈述中是否正确?我还需要知道什么?
顺便说一句,我正在运行 Kubuntu 12.04。我也在使用 btrfs。(我在 PC 中有 2 个 SSD 和 1 个 HDD。我还将添加一个外部 USB HDD。我还连接到网络并安装了一些 NFS 共享。我不认为这些最后一点与问题,但我添加它们以防万一。)
顺便说一句,由于我有多个驱动器(带有单独的文件系统),要取消链接任何文件,我要做的就是将其复制到另一个驱动器,然后将其移回。但是,使用 sed 也有效(在我的测试中)。这是我的脚本:
sed -i 's/\(.\)/\1/' file1
Run Code Online (Sandbox Code Playgroud)
令人惊讶的是,这甚至取消了零字节文件的链接。在我的测试中,它似乎也适用于没有任何特殊选项的非文本文件。(但我知道--binary在 Windows、MS-DOS 和 Cygwin 上可能需要该选项。)但是,复制到另一个磁盘并移回可能是取消链接的最佳方法。对于我的用例,unlink命令并没有真正“取消链接”,而是“删除”。
在我所在的地区,我家的互联网经常会因为暴风雨而中断。在这些时候,我需要使用我的 4G LTE 手机进行绑定,它的下载速度可以达到 10 Mb/s 左右,上传速度也差不多。
在使用 USB 网络共享时,我在笔记本电脑上的下载速度一直很慢,通常在 0.2 到 0.3 Mb/s 左右。但是,如果我通过 Wifi 进行网络连接,我的下载速度与手机本身的速度大致相同(大约 10 Mb/s)。
我已经使用 SpeedTest.net 对速度进行了数百次比较。在我的手机上,我使用 SpeedTest.net Android 应用程序。
我已经与我的移动提供商合作多年;这个问题始于 1.5 年前,移动提供商中没有人能够提供帮助。这段时间我拥有的所有手机(几台 LG 和三星设备)和所有不同的计算机(笔记本电脑和台式机)都会出现问题,并且模式始终相同。
我如何才能确定这是否是运营商响应 USB 网络共享而限制的,或者这是否是与 USB 网络共享相关的我的计算机配置的问题。我的大多数计算机都运行 Linux,并且不需要太多配置,因为 USB 网络共享“正常工作”。但是,我怀疑可能有我可以调查但我不知道的配置选项。