我有一套服务器填充每一个可以gzipped一堆文件。 这些服务器都有不同数量的内核。 我如何编写一个bash脚本来为每个核心启动gzip,并确保gzip不是压缩同一个文件?
如何获得使用文本文件的命令行参数?
以自动方式移动目录
检查文件是否存在Linux bash
这个叫什么名字?
是否有可能抓住wget的最后一行?
如果你在Linux上,你可以使用GNU的xargs来启动尽可能多的进程。
CORES=$(grep -c '^processor' /proc/cpuinfo) find /source -type f -print0 | xargs -0 -n 1 -P $CORES gzip -9
find -print0 / xargs -0保护你免受文件名中的空白
xargs -P指定作业的数量
gzip -9表示最大压缩
有一个多线程gzip的实现, pigz 。 由于它在多个线程上压缩一个文件,与一次压缩多个文件相比,它应该能够更高效地从磁盘读取数据。
你可能要考虑检查GNU并行 。 我也在YouTube上发现了这个视频,这似乎是做你正在寻找的东西。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。