我需要一个脚本文件来备份(zip或tar或gz)我们的unix服务器中的旧日志文件(导致空间问题).你能帮我为当前目录和子目录中的每个日志文件创建zip或gz文件吗?
我发现一个命令是为旧文件创建gz文件,但它只为所有旧文件创建一个gz文件.但我需要为每个日志文件单独的gz文件.
find/tmp/log/-mtime +180 | xargs tar -czvPf/tmp/older_log _ $(date +%F).tar.gz
提前感谢你.
小智 10
最好的方法是
find . -mtime +3 -print -exec gzip {} \;
Run Code Online (Sandbox Code Playgroud)
其中+3表示压缩所有超过3天的文件.
首先,该-mtime参数不会为您提供“旧”超过一定数量的文件。相反,它会检查上次修改文件的时间。大多数文件系统中不保留文件的创建日期。通常,最后修改时间就足够了,但它与文件的年龄不同。
如果您只想为每个存档创建一个 tar 文件,请使用 -exec 而不是将数据传递给 xargs:
find /tmp/log/ -mtime +180 -type f -exec sh -c \
'tar -czvPf /tmp/older_log_$(basename $0)_$(date +%F).tar.gz $0' {} \;
Run Code Online (Sandbox Code Playgroud)
非常感谢您的回复。我知道了。
files=($(find /tmp/mallik3/ -mtime +"$days"))
for files in ${files[*]}
do
echo $files
zip $files-$(date --date="- "$days"days" +%F)_.zip $files
# tar cvfz $(files)_$(date --date='-6months' +%F).tar.gz $files
# rm $files
done
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
56468 次 |
| 最近记录: |