gpt4 book ai didi

bash - tar 不归档所有文件,尽管日志另有说明

转载 作者:行者123 更新时间:2023-11-29 09:15:07 24 4
gpt4 key购买 nike

我正在运行这个命令行:

mysql -h $dbHost -u $dbUser --password=$dbPasswd -N -B -e \
"use cms; select uri from file_managed;" | grep public: | sed \
's/public:\/\//\/amk_aco_data\/cms\//g' | xargs -d "\n" tar -czvf /tmp/cmspublicfile.tgz

直到一周前它都运行良好。但是现在我不再归档 ~2k 文件,而是在归档中只得到 300 个文件。如果我单独运行它并将 SQL 查询保存到文件中:

mysql -h $dbHost -u $dbUser --password=$dbPasswd -N -B -e \ 
"use cms; select uri from file_managed;" | grep public: | sed \
's/public:\/\//\/amk_aco_data\/cms\//g' > files.toarchive

然后

tar -T files.toarchive -czvf /tmp/cmspublicfile.tgz, 

它按预期工作,我在存档中得到了我的 ~2k 文件。我猜这个问题与 xargs 有关,但我不知道它为什么停止工作。

一些解释:SQL 查询打印出文件 URL 列表。

谁能告诉我应该检查什么?

最佳答案

你跳过 xargs 和 usr tar -T - 这将从标准输入读取文件名

所以纬度部分将是:

| tar -T - -czvf /tmp/cmspublicfile.tgz

与工作版本更相似

完整的命令应该是这样的:

mysql -h $dbHost -u $dbUser --password=$dbPasswd -N -B -e \
"use cms; select uri from file_managed;" | grep public: | sed \
's/public:\/\//\/amk_aco_data\/cms\//g' | tar -czvf /tmp/cmspublicfile.tgz -T -

关于bash - tar 不归档所有文件,尽管日志另有说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36340662/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com