# create: 在日志文件轮换时创建新的日志文件,权限为 0640,属主是 nginx 用户,属组是 root 用户 create 0640 nginx root # daily: 每天轮换一次日志文件 daily # rotate 10: 保留最近的 10 个轮换后的日志文件 rotate 10 # missingok: 如果轮换的日志文件不存在,不会报错,直接继续进行轮换 missingok # noti...
在这里我将使用logrotate切割日志。 logrotate是一个日志管理程序,用来把旧的日志文件删除(备份),并创建新的日志文件,这个过程称为“转储”。 我们可以根据日志的大小,或者根据其使用的天数来转储。 logrotate的执行由crond服务实现,参考 /etc/cron.daily/logrotate 脚本,该脚本每天由cron在指定的时间(/etc/crontab)启...
delaycompress # 切割时对上次的日志文件进行压缩 dateext # 日志文件切割时添加日期后缀 missingok # 如果没有日志文件也不报错 notifempty # 日志为空时不进行切换,默认为ifempty create 640 nginx nginx # 使用该模式创建日志文件 sharedscripts # 所有的文件切割之后只执行一次下面脚本 postrotate if [ -f /va...
#重命名日志文件 mv ${LOG_HOME}/access.log ${LOG_HOME}/${LOG_PATH_BAK}#向nginx主进程发信号重新打开日志 kill-USR1`cat /usr/local/nginx/logs/nginx.pid` 创建crontab设置作业 设置日志文件存放目录crontab -e 代码语言:javascript 复制 */1***sh/opt/nginx/nginx_log.sh 自动删除7天前的指定日志文...
#日志所在路径 LOGS_PATH=/usr/local/nginx/logs #设置保留时间 单位(天) SAVE_TIME=30 #执行最终的命令 #查找 修改日志在30天前的同时以log结尾的文件然后删除 #如果没有-name选项过30之后脚本会被删除掉 find ${LOGS_PATH}/ -mtime +${SAVE_TIME} -name \*.log |xargs rm -rf {} ...
5、Nginx日志切割和日志定期删除 LogDir=/data/logs/nginx #日志存放目录 LogDate=`date +%Y%m%d` #日志名称后缀 KeepLogDays=30 #保留的天数(看自己的需求) DelDate=`date -d "-${KeepLogDays} days" +%Y%m%d` #当前时间的前三十天时间戳(是一个具体的日期) ...
默认如果不启用该配置,分割后源日志文件将被删除。设置该值,以便分割后可以继续在源日志文件写入日志,等待下次分割; missingok: #切割中遇到日志错误忽略。 创建好配置以后,系统会在每天利用 cron 定时执行 logrotate 日志分割指令。这里我们为了看到效果,不等到系统自动执行,可以手动强制执行一次日志分割。强制执行会立即...
默认nginx不会自动切割日志,当日志文件越来越大时,不再浪费磁盘空间,nginx的性能也会降低。可以使用Linux的logrotate来解决这个问题。 logrotate可以自动对日志进行切割,压缩和删除。而且自动化处理,不需要人为操作,使用非常方便。 代码语言:javascript 复制 rpm-ql nginx|grep log/etc/logrotate.d/nginx/var/log/nginx...
nginx运行时间长后会导致日志文件过多过大,导致磁盘空间被占满。这里用logrotate来分割nginx日志文件。 1、logrotate是什么? Logrotate 是 CentOS 操作系统内置日志管理工具,该工具可对系统中生成的大量日志文件进行归档管理,其允许对日志文件实行压缩、删除或邮寄等操作。Logrotate 可以按照每天、周、月或达到某一大小的...
手写sh脚本方案 自己手写sh脚本,切割以及删除日志,crontab每晚定时执行 logrotate 方案 利用Linux自带的logrotate管理日志 1.手写sh脚本 切割日志脚本 set -e #脚本执行,遇到错就退出,不再往下执行 sleep 1 # 配合定时任务,0 点过一秒再开始切割任务 yesterday=$(date -d 'yesterday' +%Y-%m-%d) #取得服务器...