使用了错误顺序的 tar 并覆盖了原始文件。有什么方法可以恢复吗?

使用了错误顺序的 tar 并覆盖了原始文件。有什么方法可以恢复吗?

相当新手的举动,但使用 tar 时将源文件和目标文件参数交换,结果却一团糟(源文件已被另一个大小为 4kb 的同名文件覆盖)。

有什么方法可以恢复我的原始文件吗?

顺便说一句,我很惊讶默认设置是覆盖,但我想我不应该在早上喝咖啡之前做这样的事情。呃。

答案1

除非您在其他地方存储了原始源文件的备份,否则您很不幸地没有运气。Tar 无法从这种特定的错误情况中恢复。

答案2

也许这会是一个编写脚本的灵感时刻。将命令重命名tartar.orig,并将新脚本命名为my-tar.sh。让您的新my-tar.sh脚本:

  1. 对哪个是输入、哪个是输出进行健全性检查(检查 .ext?文件大小?日期时间戳?),然后
  2. cp input.bkp在进行任何处理之前创建输入文件的备份( )。

您还可以包含一小段菜单,配置为轻松在您最喜欢的 tar 命令选项集之间进行选择!

如果您觉得自己真的很强大,您还可以让脚本轮换最近每次“运行”的几个备份文件(使用/tmp目录;.bkp、.bk4、.bk3、.bk2、.bk1),以防您在喝第一杯咖啡之前遇到键盘狂潮!也许还可以轮换一个小日志文件,以/var/log/my-tar.log跟踪日期和时间戳以及自定义脚本最近几次“运行”期间执行的确切脚本处理命令行!

如需编写mytar.sh脚本方面的帮助,请咬紧牙关,走教育路线:获取在线 PDF“高级 Bash 脚本指南”摘自 Linux 文档项目。花时间学习如何处理许多需要脚本的情况,在它们给你带来麻烦之前,你将领先于其他人!

相关内容