如何实现linux自动压缩指定日志
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何实现linux自动压缩指定日志相关的知识,希望对你有一定的参考价值。
/bin/bash# logs zip
dir=你的日志路径
log=日志名称
bak_dir=压缩后的日志存放位置
echo "###########开始备份###################"
tar -zcvf $bak_dir/bak_$(date "+%Y%m%d_%H%M").tar.gz $dir/$log 参考技术A 写一个脚本,作用是压缩指定日志到某个目录下
然后把脚本放到cron job中定期执行就可以了
Linux自带的logrotate 来管理日志
起因:nginx日志以及服务日志竟然高达57G
大家可能都有管理日志的需要,比如定时压缩日志,或者当日志超过一定大小时就自动分裂成两个文件等,我发现其实Linux自带的logrotate命令就能够实现这样的功能。
为了使用它,主要有两个地方需要修改一下:一个是/etc/logrotate.conf,另一个是/etc/logrotate.d/下面的文件。
你既可以在logrotate.conf中直接定义如何处理你的log文件,也可以在/logrotate.d/下面针对自己的log新建一个对应的文件来定义处理log的行为。
cat << EOF > /etc/logrotate.d/smartpub /data/smartpub/logs/nginx/* { size 500M rotate 10 dateext compress } /data/smartpub/logs/uwsgi/* { size 500M rotate 10 dateext compress } EOF
默认的logrotate是一天运行一次
以上是关于如何实现linux自动压缩指定日志的主要内容,如果未能解决你的问题,请参考以下文章
linux samba 如何实现指定用户看见此文件夹,而其他用户无法看见。