共计 1208 个字符,预计需要花费 4 分钟才能阅读完成。
网站日志对分析服务器故障非常有用,所以站长一般都开启了,但是军哥的 LNMP 环境默认是没有切割网站日志的,日复一日,网站日志文件就会非常大,几个 G 或直接占完服务器空间都是有可能的。所以,比较好的方案就是定期切割网站日志,然后删除过老的日志文件。具体的方法,其实军哥已经给出,直接 copy 一份备忘:
===== 转载自:http://www.vpser.net/manage/cut-nginx-log-files.html =====
目前网上也有一些 Nginx 日志切割脚本,但是论坛还是有用户反映网上 Nginx 日志切割脚本有问题,我感觉一般是因为脚本中的参数设置问题,或者是 crontab 中的设置问题。
为方便 lnmp 一键安装包用户,我也写了一个 Nginx 日志切割脚本,下载地址:http://soft.vpser.net/lnmp/ext/cut_nginx_logs.sh
如果是 lnmp0.5/0.6/0.7/0.8/0.9 通用,用户可以仅修改 log_files_name 后面的要切割的日志文件名就直接使用(经站长测试 lnmp 1.0 和 1.1 也是可以使用的)。
脚本主要参数:
# 设置 nginx 日志文件目录路径
log_files_path=”/home/wwwlogs/”# 日志文件将会存放到 /home/wwwlogs/ 年 / 月 / 日志文件名_年月日.log
log_files_dir=${log_files_path}$(date -d“yesterday”+”%Y”)/$(date -d“yesterday”+”%m”)# 设置要切割的日志的名字,如果日志目录下面的日志文件名为 vpser.net.log,则填写 vpser.net,每个日志名用空格分隔
log_files_name=(access vpser.net licess)# 设置 nginx 文件的位置
nginx_sbin=”/usr/local/nginx/sbin/nginx”# 设置日志保存的时间,天
save_days=30
如果是非 lnmp 一键安装包用户可以通过修改上述参数适应你的 nginx 环境。
将 nginx 日志切割脚本下载到 /root/ 下面(然后修改上面提到的参数)。再添加自动执行,执行:crontab -e
输入:00 00 * * * /bin/bash /root/cut_nginx_logs.sh 每天 0 点整开始切割脚本。
==================== 转载结束 ===============================
附:输入 crontab -e 提示:crontab: command not found,只需要运行下面的命令安装 vixie-cron crontabs 即可:
yum -y install vixie-cron crontabs
其中,vixie-cron 是 cron 的主程序;crontabs 是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。