我发现我认为这个论坛中的解决方案是能够找到我的特定LOG文件,然后对这些文件执行TAR.GZ备份。但是,执行命令时我收到错误。管道之前的命令运行良好,找到我需要的文件,但在尝试创建备份文件时,我会爆炸。任何建议/方向将不胜感激。感谢。
这是命令:
find /var/log/provenir -type f -name "*2014-09-08.log" | tar -cvzf backupProvLogFiles_20140908.tar.gz
这是我得到的错误:
find /var/log/provenir -type f -name "*2014-09-08.log" | tar -czvf backupProvLogFiles_20140908.tar.gz --null -T -
tar: Removing leading `/' from member names
tar: /var/log/provenir/BureauDE32014-09-08.log\n/var/log/provenir/DE_HTTP2014-09
-08.log\n/var/log/provenir/BureauDE22014-09-08.log\n/var/log/provenir/DE_HTTP220
14-09-08.log\n: Cannot stat: No such file or directory
tar: Exiting with failure status due to previous errors
答案 0 :(得分:1)
您也可以使用gzip
来执行此操作
find /var/log/provenir -type f -name "*2014-09-08.log" | gzip > tar -cvzf backupProvLogFiles_20140908.tar EDIT
<是/> 的 修改 强>
更好的解决方案是使用命令替换
tar -cvzf backupProvLogFiles_20140908.tar $(find /var/log/provenir -type f -name "*2014-09-08.log")
答案 1 :(得分:0)
我认为你的意思是这样的:
find . -name "*XYZ*" -type f -print | tar -cvz -T - -f SomeFile.tgz
答案 2 :(得分:0)
我终于找到了一个解决方案,以防万一其他人可能正在寻找另一个选项来回答这个问题:
find /var/log/provenir -type f -name "*2014-09-08.log" -print0 | tar -czvf /var/log/provenir/barchive/backupProvLogFile_20140908.tar.gz --null -T -
这很有效。答案来自这篇文章:Find files and tar them (with spaces)
再次感谢我收到的帮助。
问候。