Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 超过7天的Gzip或tars日志_Linux_Bash - Fatal编程技术网

Linux 超过7天的Gzip或tars日志

Linux 超过7天的Gzip或tars日志,linux,bash,Linux,Bash,需要创建一个脚本,该脚本将在多(3)个路径/home/temp、home/logs中创建超过7天的Gzip或tars日志,然后确认此脚本的home/var/lib/mongo容量超过50%。到目前为止,这是我得到的,但我想不出如何将这些结合起来: find . -mtime +7 -print -exec gzip {} \; for all 3 but them find /tmp/log/ -mtime +7 -type f -exec sh -c \ 'tar-czvPf/tmp/ol

需要创建一个脚本,该脚本将在多(3)个路径/home/temp、home/logs中创建超过7天的Gzip或tars日志,然后确认此脚本的home/var/lib/mongo容量超过50%。到目前为止,这是我得到的,但我想不出如何将这些结合起来:

find . -mtime +7 -print -exec gzip {} \; for all 3 but them

find /tmp/log/ -mtime +7 -type f -exec sh -c \
'tar-czvPf/tmp/older_log_$(basename$0)$(date+%F).tar.gz$0'{}

# create a single tar file for each archive +7 days old on one mount

如果我正确理解您的意思,您希望将多个旧日志归档到一个tar文件中:

find /tmp/log /home/temp /home/logs -mtime +7 -type f \
| xargs tar -czf /tmp/older_log_$(date +%F).tar.gz --remove-files
为了便于阅读,我把它分为两行

  • 它会搜索所有要存档的文件
  • 将找到的文件作为参数传递给tar存档(使用xargs)
  • tar将创建新的存档并添加所有文件
  • 此外,tar将使用最后一个选项(从GNU tar)删除原始文件

  • 为什么要重新发明轮子?看看: