写一个nginx日志切割脚本
时间: 2023-12-13 07:03:16 浏览: 44
好的,以下是一个基本的nginx日志切割脚本,你可以根据自己的需要进行修改和优化:
```
#!/bin/bash
LOG_DIR=/var/log/nginx # nginx日志目录
MAXAGE=7 # 日志最大保存天数
# 判断日志目录是否存在
if [ ! -d $LOG_DIR ]; then
echo "日志目录 $LOG_DIR 不存在!"
exit 1
fi
# 切割日志文件
for file in $LOG_DIR/access.log $LOG_DIR/error.log; do
if [ -f $file ]; then
mv $file $file.$(date +%Y%m%d)
gzip $file.$(date +%Y%m%d)
fi
done
# 删除过期的日志文件
find $LOG_DIR -name "access.log.*" -type f -mtime +$MAXAGE -exec rm -f {} \;
find $LOG_DIR -name "error.log.*" -type f -mtime +$MAXAGE -exec rm -f {} \;
```
该脚本将日志文件切割成以当前日期命名的压缩文件,并删除指定天数以前的过期日志文件。可以将该脚本添加到定时任务中,每天执行一次。
相关问题
shell写一个nginx日志切割脚本
你好,我可以回答这个问题。以下是一个 shell 脚本,可以实现 nginx 日志的切割:
```
#!/bin/bash
# nginx 日志文件路径
log_path="/var/log/nginx/access.log"
# 切割后的日志文件名
log_name="access-$(date +%Y%m%d).log"
# 切割命令
mv $log_path $log_path.$log_name && kill -USR1 $(cat /run/nginx.pid)
# 删除 7 天前的日志文件
find /var/log/nginx/ -name "access-*.log" -mtime +7 -exec rm -f {} \;
```
这个脚本会将当前的 nginx 日志文件重命名为 `access-年月日.log` 的格式,并重新生成一个新的日志文件。同时,它会删除 7 天前的日志文件,以保持磁盘空间的合理使用。
希望这个脚本能够帮助到你。
写一个nginx日志切割shell脚本,保留30天的文件
好的,以下是答案:
您可以使用以下Shell命令编写一个nginx日志切割脚本,以保留30天的文件:
```shell
#!/bin/bash
LOG_DIR=/var/log/nginx
OLDLOG_DIR=/var/log/nginx/oldlogs
COMPRESSION_TOOL='gzip'
find ${LOG_DIR} -type f -iname "access.log*" -mtime +29 -delete
mv ${LOG_DIR}/access.log ${OLDLOG_DIR}/access-$(date +%Y%m%d%H%M%S).log
kill -USR1 $(cat /var/run/nginx.pid)
cd ${OLDLOG_DIR}
for i in $(ls -1 access*log); do
${COMPRESSION_TOOL} $i
done
```
这个脚本将删除30天前的所有访问日志文件并将当前的访问日志文件从`${LOG_DIR}/access.log`移动到`${OLDLOG_DIR}`,并触发Nginx重新打开日志文件。随后,它将所有已轮换的日志文件压缩。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)