Nginx分割日志文件
简介Nginx作为使用量非常大的Web服务器,但是如果遇到一个访问量比较大的网站,其访问日志会快速的进行增长,如果一直将所有的访问日志存放在一个文件中肯定是不对的,所以我们就需要对访问量大的访问日志进行分割,然后按照一定的时间删除不需要的日志文件。
使用nginx作为我们的WEB服务器时,如果我们开启了访问日志,当访问量非常大的时候,访问日志会快速增长,可能在服务器存储空间较小的情况下导致服务器磁盘占用过多或占满,所以就需要我们定期对nginx日志进行清理。
这里的思路主要是将每天的日志生成一个新的文件,然后给定一个保存时间,当过了我们保存时间后就删除以前没用的数据。
1、首先要开启nginx的访问日志
#这里我们可以进行自定义格式,这里我主要使用nginx定义好的格式
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
#存放文件路径和名称,access这个名字可以修改,但是在后面需要用到
access_log logs/access.log main;
2、日志分割脚本
在nginx目录下编写一个cut_nginx_log.sh文件,内容如下:
#!/bin/bash
#定义日志目录,需要根据自己的日志目录进行修改
log_files_dir="/apps/nginx/logs/"
#定义日志文件名称,根据nginx配置的文件名称进行修改
log_files_name=(access )
#获取日志名称数量
log_files_count=${#log_files_name[@]}
#定义nginx命令地址,需要根据自己的nginx安装路径来找到该路径
nginx_sbin="/apps/nginx/sbin/nginx"
#设置保存天数,自定义
save_days=30
#分割日志
for((i=0;i<$log_files_count;i++));do
mv ${log_files_dir}${log_files_name[i]}.log ${log_files_dir}${log_files_name[i]}.log_$(date -d "yesterday" +"%Y-%m-%d")
done
#找到保存天数以前的日志并删除,这里最好要加上*.log来进行查找
find $log_files_dir -name *.log_* -mtime +$save_days -exec rm -rf {} \;
#重启nginx
$nginx_sbin -s reload
保存完后,需要将该文件改成可以执行的权限
chmod +x cut_nginx_log.sh
3、添加定义任务
#打开定义任务
crontab -e
#进入编辑模式在后面添加,定时任务
00 00 * * * /bin/sh /apps/nginx/cut_nginx_logs.sh
#查看刚刚添加的定时任务
crontab -l
4、查询定时任务是否执行
tail -f /var/log/cron
这里一定要注意shell文件中的文件路径,一定要使用绝对路径。
在使用Laravel中如果要进行复杂的查询,那么通过模型中的函数来查询是不行的,所以本文主要记录如何通过aggregate来进行复杂的查询。
图像梯度计算的是图像变化的速度。对于图像的边缘部分,其灰度值变化较大,梯度值也较大;相反,对于图像中比较平滑的部分,其灰度值变化较小,相应的梯度值也较小。图像梯度计算需要求导数,但是图像梯度一般通过计算像素值的差来得到梯度的近似值(近似导数值)。本节主要介绍Sobel算子、Scharr算子、Laplacian算子和Canny算子的使用.
二叉树(Binary tree)是树形结构的一个重要类型。许多实际问题抽象出来的数据结构往往是二叉树形式,即使是一般的树也能简单地转换为二叉树,而且二叉树的存储结构及其算法都较为简单,因此二叉树显得特别重要。二叉树特点是每个结点最多只能有两棵子树,且有左右之分。
底部导航条BottomNavigationBar,可以非常方便的实现tap之间的切换。
快速生成表格
Electron页面跳转、浏览器打开链接和打开新窗口
在使用Git的过程中,不想每次都输入用户名和密码去拉取代码,所以就需要保存这些信息,那么既然有保存了,就必须有清除功能。
Docker编译镜像出现:fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.12/main: temporary error (try again later)
WARNING: Ignoring APKINDEX.2c4ac24e.tar.gz: No such file or directory问题
在Mac电脑中,如何对Git的用户名和密码进行修改呢?起初不懂Mac,所以整了很久,本文将记录如何对这个进行操作,以便后期使用。