nginx 日志切割 脚本

    技术2022-07-10  161

    一、需求背景:如果日志不做切割,会导致日志堆积在access.log文件中,长时间会导致日志文件越滚越大,后续排查问题查看日志文件会是一个噩梦(我见过没有做做切割导致日志文件5G以上的,打开文件会读入到内存,系统直接卡顿无法显示)

    二、思路:

        通过定时任务:每晚凌晨0点,对access.log文件进行改名为当天日期,然后重载nginx生成新的access.log文件

    三、shell脚本实现过程

    #/bin/bash Nginx_log_dir=/usr/local/nginx/logs/ Date_time=`date +%F` Nginx_start_fir=/usr/local/nginx/sbin/nginx [ -d $Nginx_log_dir ] && cd $Nginx_log_dir || exit 1 [ -f $Nginx_log_dir/access.log ] || exit 1 mv ${Nginx_log_dir}/access.log hbxt-$Date_time.log $Nginx_start_fir -s reload

    四、定时任务执行该脚本(每天11点50执行该脚本)

        50 23 * * * /bin/bash /usr/local/nginx/logs/nginx-log.sh

    Processed: 0.017, SQL: 9