因此我们有一个没有 Git 或任何其他版本控制工具的暂存服务器。
现在我们要将变化推送到实时系统。
我正在考虑find
,使用-exec
。
我正在尝试这个:
find . -type f -mtime -30 -exec tar -czf changed.tar.gz {} \;
但它只添加了最后一个文件。我想将其添加到该文件,changed.tar.gz
而不是完全覆盖它。我该怎么做?
答案1
而不是使用exec
:
find . -type f -mtime -30 -exec tar -czf changed.tar.gz {} \;
您pipe
可以tar
使用--files-from=-
和--null
:
find . -mtime -30 -type f -print0 | tar czf changed.tar.gz --files-from=- --null
- 无效的
-T reads null-terminated names, disable -C
-T,
--files-来自文件get names to extract or create from FILE
在上面的例子中,输入文件名是-
- 来自的输入pipe
您还可以pipe
使用xargs
find . -type f -mtime -30 -print | xargs tar -czf changed.tar.gz