我必须创建所选目录的目录备份;每个备份应该只有一个根目录;如果选择了多个目录,则每个目录都应存储在单独的备份中。备份应使用 tar 和 gzip。我编写了一个脚本,应该可以实现这一点,但我一直收到无法统计的错误:
no such file name or directory
代码:
DATE=$(date +"%d-%b-%Y")
cd ~/comp232/lab5
tar zcvf lab5-$DATE.tgz lab5
mv *.tgz ~/Documents
我一直在网上查找这个问题,但我尝试过的解决方案(例如删除 tar 和 zcvf 之间的连字符)不起作用。
任何帮助,将不胜感激。
答案1
这应该可以修复你的脚本但是这很长时间还没有实现你想要实现的目标:
DATE=$(date +"%d-%b-%Y")
cd ~/comp232/
tar -caf lab5-$DATE.tgz lab5
mv *.tgz ~/Documents
但是假设您想要的所有目录.tgz
都在同一个父文件夹中,您可以执行以下操作:
DATE=$(date +"%d-%b-%Y")
cd ~/comp232/
for f in ./* # for each entry in directory do
do
if [ -d "$f" ] # making sure $f is a directory
then
tar -caf "$f-$DATE".tgz $f
fi
done
mv *.tgz ~/Documents
希望对你有帮助 :)