无法打开使用 shell 脚本创建的 zip 文件

无法打开使用 shell 脚本创建的 zip 文件

我尝试制作一个备份脚本,但是当我使用该脚本创建一个 zip 文件并使用cd myzip它时,即使我可以使用 FileZilla 在服务器上看到它,它也不存在。

这是我的脚本:

TIME=BACKUPMC-`date +%d-%m-%Y-%H:%M`.zip
DEST="/home/daixhosting/d1"
zip -r $TIME /home/daixhosting/d1

有人知道这是什么原因吗?

答案1

文件名中有回车符\r,因此您无法使用通常的方式解析文件。

要从文件名中删除所有字符,请在包含文件的目录\r中运行以下命令:bash

for file in *; do mv -i "$file" "$(sed 's/\r//g'<<<"$file")"; done

现在所有文件都不应该包含\r在其中,现在您可以zip使用通常的方式例如:

zip -r foo.zip /home/foobar/spam/

答案2

尝试将 zip 文件的名称更改为不带“:”的文件名。

如果这不是问题所在,请考虑文件可能已损坏。因此,您将尝试修复它并可能保存部分信息。例如,

zip -F broke.zip --out pleasework.zip

或者

zip -FF broke.zip --out pleasework.zip

相关内容