![这个 tar 命令有什么问题?](https://linux22.com/image/49171/%E8%BF%99%E4%B8%AA%20tar%20%E5%91%BD%E4%BB%A4%E6%9C%89%E4%BB%80%E4%B9%88%E9%97%AE%E9%A2%98%EF%BC%9F%20.png)
find /informatica/dev/SrcFiles* -mtime +7 -and -size +1M -exec tar -rvf files.8.2.2013.tar {} \;
该命令运行/工作正常,我不确定出了什么问题。我想找到超过 1MB 且超过 7 天的文件,然后将它们添加到单个 tar 文件中。
答案1
似乎find
很好:
$ ll
total 3072
-rw-rw-r-- 1 saml saml 1048576 Jan 1 2012 afile1M
-rw-rw-r-- 1 saml saml 2097152 Jan 1 2012 afile2M
$ find . -mtime +7 -and -size +1M
./afile2M
添加似乎tar
也不错:
$ find . -mtime +7 -and -size +1M -exec tar -rvf files.8.2.2013.tar {} \;
./afile2M
查看生成的.tar
文件,它似乎是正确的:
$ ll
total 5124
-rw-rw-r-- 1 saml saml 1048576 Jan 1 2012 afile1M
-rw-rw-r-- 1 saml saml 2097152 Jan 1 2012 afile2M
-rw-rw-r-- 1 saml saml 2099200 Aug 2 13:09 files.8.2.2013.tar
$ tar tvf files.8.2.2013.tar
-rw-rw-r-- saml/saml 2097152 2012-01-01 00:00 ./afile2M
您确定有符合条件的文件吗?
答案2
我建议使用cpio
over tar
.... 例如:
find dirx -depth -print0 | cpio --null -o --format=crc >archive.cpio
您可以更改crc
为tar
OLD tar 格式,或更改ustar
为 POSIX.1 tar 格式。
您可以省略该--format
规范以默认为旧的 CPIO bin 格式。