我找到了一些信息来帮助我恢复一个被覆盖的文件。该文件是在进行了大量更改后,以错误的方向使用 rsync 而被覆盖的。根据我找到的信息,我输入以下内容,看到很多包含我脚本文本的条目:
root@ip-172-31-18-244:/code/sc# grep -a -b "package sc::object::cron::qbo" /dev/xvda1
<snip>
874419155:package sc::object::cron::qbo;
<snip>
此后,下一步应该如下,但我收到一个错误:
root@ip-172-31-18-244:~/recover# dd if=/dev/xvda1 count=1 skip=$(expr 874419155 512)
expr: syntax error
dd: invalid number ââ
有人能帮我恢复文件吗?文件昨天被更改了,我使用 rsync 进行备份,今天早上在开始对脚本进行更多工作之前犯了一个严重的错误。这是在 Ubuntu 14.04.1 LTS 服务器上。
答案1
grep
您可以通过将字节偏移量除以512,然后使用扇区号作为参数来手动计算位置dd
skip
。
或者,您可以检查如何使用该工具准确计算扇区数expr
。
请记住,dd
命令行仅从您在skip
参数中指定的偏移量复制一个扇区。它无法复制整个文件,因为它不知道所有文件块位置。
您可能想要使用testdisk
或类似的工具来恢复文件。