我的 TAR 脚本发生了什么情况?

我的 TAR 脚本发生了什么情况?

这在 StackExchange 上可能会更好,但我使用 Ubuntu 作为我的文件服务器。

因此,我尝试使用targzip仅备份文件服务器上最近 6 个月的更改,但不起作用。它gzip什么也没做,它将 tar 文件放在与脚本相同的目录中(这不是我想要的),并将文件的名称更改为 tar 字符串的一部分。

脚本如下:

#!/bin/bash


tod=$(date +%F_%H%M%S)
echo "start"
echo $tod

echo "testing tar, only the last 6 months"
tar -cvf--newer-mtime=08-11-2013 /homedepot/yellowsolo/xz/6months/xz$tod-last6months.tar /homedepot/yellowsolo/xz/official/official /homedepot/yellowsolo/xz/home/home

echo "now zipping"
gzip /homedepot/yellowsolo/xz/6months/xz$tod-last6months.tar.gz

echo $tod
echo "done"
exit

提前致谢

答案1

尝试:

#!/bin/bash
tod=$(date +%F_%H%M%S)
echo "Start"
echo $tod

echo "testing tar, only the last 6 months"
tar --newer-mtime=20130811 -cvzf /homedepot/yellowsolo/xz/6months/xz$tod-last6months.tar /homedepot/yellowsolo/xz/official/official /homedepot/yellowsolo/xz/home/home

echo "Done"
exit

我已经清理了 tar 命令中的错误 - 您需要f在文件名前面加上选项,并通过 gzip(选项z)对其进行过滤。

答案2

首先,您尝试创建一个.tar文件。除了语法错误之外,bodhi.zazen 已经指出您的tar文件名应该紧跟在-f选项之后。正如 Wilf 在他的回答中恰当地指出的那样。

tar --newer-mtime=08-11-2013 -cvf /homedepot/yellowsolo/xz/6months/xz$tod-last6months.tar /homedepot/yellowsolo/xz/official/official /homedepot/yellowsolo/xz/home/home

接下来又出现了一个错误。你正要去,gzip /homedepot/yellowsolo/xz/6months/xz$tod-last6months.tar.gz但是这个文件不存在。

相反,你有一个文件/homedepot/yellowsolo/xz/6months/xz$tod-last6months.tar

你应该使用,

gzip /homedepot/yellowsolo/xz/6months/xz$tod-last6months.tar

它将创建/homedepot/yellowsolo/xz/6months/xz$tod-last6months.tar.gz

笔记:

你可以直接做,

tar --newer-mtime=08-11-2013 -cvzf /homedepot/yellowsolo/xz/6months/xz$tod-last6months.tar.gz /homedepot/yellowsolo/xz/official/official /homedepot/yellowsolo/xz/home/home

-z同时切换 zip tar。

相关内容