如何恢复刚刚使用“rm -R”命令删除的目录(在云驱动器中)?

如何恢复刚刚使用“rm -R”命令删除的目录(在云驱动器中)?

我用rm -R命令删除了一个重要的目录。这是一个非常流行的主机数据。它/var/zpanel/hostdata/ayrintilih 位于删除 ayrintilih 目录后,所有内容都消失了。

我尝试用ext4magic程序取消删除。但它需要另一个硬盘卷进行恢复。

错误信息:

ERROR: can not use "/root/recoveried" for recover directory. It's the same filesystem : "/dev/dm-0"

我的 ISP 刚刚回复了我的请求:

Unfortunately there is no way to add another Volume to a virtual Instance. 
If it would be a dedicated Server, we could do it, but not in a Cloudserver. 
You could try to minimize the partition and create another one, that would 
count as another Volume. We also recommend to have allways a 
Backup for your Important files.

答案1

取消删除越来越成为一个神话,尤其是。使用现代硬件(SSD),任何被删除的内容也会立即清零(TRIM),因此找回任何内容的机会为零。

你最好的选择是对你现在拥有的任何东西制作一个图像,然后使用你想要的任何工具看看是否还有任何东西可以找到。就像是:

ssh -C remoteserver dd if=/dev/theserverdisk bs=1M > local/disk.img

最好将盒子放入救援系统中,或者以其他方式冻结整个盒子(只读)以执行此操作,因为此时任何和所有写入只会造成进一步的损坏。

图像完成后,您可以为其创建一个只读循环设备:

losetup --find --show --partscan --read-only disk.img

然后继续在循环设备上使用您选择的任何救援工具。

答案2

如果您可以访问另一台 Linux/Unix/OSX 等机器,它可能可以使用sshfs安装远程文件夹并备份到该文件夹​​(改编自的说明这里)。

  1. 安装sshfs 在服务器上

    yum install fuse sshfs
    

    你可能必须启用 EPEL 存储库如果尚未启用。

  2. 加载保险丝模块(在服务器上

    modprobe fuse
    
  3. 选择一个目录从您的家用计算机并将其挂载到 CentOS 服务器上

    redleon@local$ mkdir /remote_backup
    

    现在,在远程服务器,运行这个

    mkdir /backup
    sshfs [email protected]:/remote_backup /backup
    

    您需要更改1.2.3.4为您的实际IP本地机器

完成后,您将在本地安装一个远程文件系统,您可以尝试运行ext4magic并告诉它备份到/backup.我不能保证它会起作用,但似乎值得尝试。

答案3

你可以尝试使用tmpfs内存盘为了恢复。当然,这要求您有足够的可用内存来容纳要恢复的数据量。

但总的来说,我认为弗罗斯特舒茨的回答一语中的——“取消删除”很少起作用。让这成为您的一个教训并做好备份。

答案4

你们中的许多人在这里贬低了受害者,而不是回答问题。受害者已确定该系统是基于云的。与其假设他在没有备份的情况下删除了,为什么不假设有备份,并且他需要从备份中恢复目录呢?如果你必须取消删除,你(贬低者)就会这么做,不是吗?

如果您的系统托管在提供 ISP 的系统上,他们会定期进行备份。您需要向他们提出正确的问题,以便他们理解并正确响应,但您应该能够从他们的备份中恢复或恢复目录。某些数据可能会丢失,具体取决于上次备份的时间。

这里的答案取决于系统的备份方式和频率。 Cron 和 Tar 通常由小型系统使用,并且由于其简单性,许多大型系统也使用它。不过,还有其他可用的工具。

如果这不是一个单人系统,则可能有 IT 部门和备份方法。 IT 部门可以帮助您,您应该去找他们,而不是尝试自己恢复文件夹/目录。

如果这是一个家庭系统,而您是 IT 部门,并且备份严格在本地,则可以使用 CRON 和 TAR 进行备份。检查您的 CRON 设置以查看您放置 TAR 文件的位置。查看 tar 文件以获取确切的路径和名称:

 tar -tvf <backup name>.tar

解压它。

 tar -xvf <backup name>.tar <directory name>

执行 man tar 获取更多信息,或者当然,再用 google 获取 tar 和备份信息。

未来的考虑因素包括其他备份选项,以及垃圾桶类型删除而不是真正的删除。垃圾箱类型删除涉及为 rm 创建一个别名,将项目移动到名为“trash”的目录,而不是真正删除。然后,您可以使用 Cron 清空它,也可以在需要时手动清空它,或者开始空间不足。

相关内容