对于 linux 系统安全来说,日志文件的管理及其重要。如果日志文件太大,我们需要将其进行切割。
logrotate程序是linux自带的一个日志文件管理工具。用于分割日志文件,删除旧的日志文件,并创建新的日志文件,起到“转储”作用。可以节省磁盘空间。
一 nginx 日志切割
将 logrotate_nginx 上传到 nginx服务器
查看 logrotate_nginx 文件权限和所属用户和用户组,确保满足以下两条:
1. 文件权限为 600 或 644
chmod 600 logrotate_nginx
或
chmod 644 logrotate_nginx
2. 所属用户和组为root root
chown -R root:root /usr/local/nginx/logrotate_nginx
logrotate_nginx 配置内容参考如下:
[root@zabbix_nginx nginx]# more logrotate_nginx
/usr/local/nginx/logs/*.log
{
rotate 300
daily
dateext
noolddir
copytruncate
compress
notifempty
missingok
}
crontab -e 编辑定时任务
定时任务参考如下:
[root@zabbix_nginx nginx]# crontab -l
#nginx日志切割
58 23 * * * /usr/sbin/logrotate -vf /usr/local/nginx/logrotate_nginx
按周切割日志
每周日晚23:58分切割
logrotate_nginx 内容如下:
/usr/local/nginx/logs/*.log
{
rotate 180
weekly
dateext
noolddir
copytruncate
compress
notifempty
missingok
定时任务如下:
[ops@balance logs]$ sudo crontab -l
#日志切割
58 23 * * 0 /usr/sbin/logrotate -vf /home/ops/logrotate_nginx
效果: