帮我写一个每天切割nginx日志的脚本
以下是一个简单的每天切割nginx日志的脚本:
#!/bin/bash
# 设置日志文件路径
log_file="/var/log/nginx/access.log"
# 设置备份文件路径
backup_dir="/var/log/nginx/backup"
# 获取当前日期
date=$(date +%Y-%m-%d)
# 创建备份文件夹
mkdir -p $backup_dir
# 移动日志文件到备份文件夹
mv $log_file $backup_dir/access_$date.log
# 重新打开日志文件
kill -USR1 $(cat /var/run/nginx.pid)
# 删除7天之前的备份文件
find $backup_dir -type f -mtime +7 -delete
上述脚本会将nginx的访问日志文件 access.log 移动到备份文件夹中,并将其命名为 access_日期.log。然后,通过发送 USR1 信号重新打开日志文件,以便nginx可以继续写入新的日志。最后,脚本会删除备份文件夹中7天之前的日志文件。
你可以将上述脚本保存为一个文件,并将其添加到cron中,以便每天自动执行。例如,你可以将其添加到 /etc/cron.daily 目录中,以便每天执行一次。
原文地址: https://www.cveoy.top/t/topic/brkc 著作权归作者所有。请勿转载和采集!