查找/ SED将绝对路径转换为crontab

时间:2017-01-13 18:33:59

标签: sed find crontab tar ubuntu-16.04

如何制作一个find语句来剥离绝对路径名的前导斜杠,并将项目作为相对路径名添加到tar中,以避免不必要的错误:" tar:删除前导`/& #39;来自会员名称" ?

当前声明:

# tar -zcvf /root/TEST1-strip-slash-find-statement.tar.gz `find /root/test -mmin -1450 -print`

在Ubuntu 16.04 LTS bash shell上生成以下输出

tar: Removing leading `/' from member names
/root/test/
/root/test/file2.txt
/root/test/file3.txt
/root/test/file1.txt
/root/test/file4.txt
tar: Removing leading `/' from hard link targets
/root/test/file2.txt
/root/test/file3.txt
/root/test/file1.txt
/root/test/file4.txt

Find正在向tar发送前导斜杠: tar:删除前导`/'来自会员名称

如何修改find​​语句以首先从绝对路径名中删除前导斜杠,然后将相对路径名发送给tar?

当从crontab运行此命令时,前导斜杠错误会导致发送大量关于tar的电子邮件:删除前导`/'来自会员名称。我有必要继续接收其他错误的电子邮件,因此禁止使用dev / null或mailto =""不是一种选择。

1 个答案:

答案 0 :(得分:1)

摆脱" tar:删除前导`/'来自会员名称":

添加-C /并从路径中移除前导/

tar -C / -zcvf /root/TEST1-strip-slash-find-statement.tar.gz `find /root/test -mmin -1450 -print | sed 's|^/||'`