美文网首页Linux
关于tar的绝对路径报错问题

关于tar的绝对路径报错问题

作者: 飞翔的Tallgeese | 来源:发表于2017-11-30 13:57 被阅读0次

    需求:将目录下大于100M的log进行压缩打包

    find /var/log/webapps/cnvex-wallet -size +100M | awk '{print "tar -xzf "$1"tar.gz "$1}'|bash

    执行时报错

    tar: Removing leading `/' from member names

    一种治标不治本的方法是:

    百度的说法是加上大写的P参数可以忽略该问题

    注意必须是f在最后,如果是 tar -xzfP会提示其他错误

    但是采用上面的方法在解压的时候会有新的麻烦

    比如前面的路径:/var/log/webapps/cnvex-wallet -size/

    在解压不带参数的时候,解压的包会出现在这个目录下:/var/log/webapps/cnvex-wallet -size/var/log/webapps/cnvex-wallet -size/

    根本的解决方法是:

    tar认的是相对路径,所以先cd到需要压缩的路径下,然后执行

    find -size +100M | awk '{print "tar -zcPf "$1".tar.gz "$1 }'|bash    (我find后面是没有跟路径的,所以$1不会带上绝对路径)

                                                                                                                                                                                            Done

    相关文章

      网友评论

        本文标题:关于tar的绝对路径报错问题

        本文链接:https://www.haomeiwen.com/subject/ngdvbxtx.html