nginx日志
##背景
随着nginx 运行,记录的access和error日志文件也会变的越来越大。无论文件存储,还是查阅都是不方便的。
我们需求:
- 对日志能自动分割,最好按照日期,每天生成一个文件。在未来如果某一天的文件过大的话,也能再继续分割。
- 日志文件的总大小过大后,可以自动删除较旧的文件,或者打包到另外的地方进行存档。
##方案
使用linux系统中logrotate 和 crontab两个工具
##介绍
cron 是linux里一个在后台运行任务调度的守护进程。任务调度包括:
- 系统任务
/etc/crontab
文件 - 用户任务 通过
crontab
工具来设置任务。定义的文件在/var/spool/cron/crontabs/root
(root 用户 && 如果已经存在任务)
用户任务的文件不要直接编辑, 使用 crontab
命令修改
|
|
任务文件中的格式 (一行一个任务)
|
|
第1列表示分钟 00~59 每分钟用*或者 */1表示 第2列表示小时 00~23(0表示0点) 第3列表示日期 01~31 第4列表示月份 01~12 第5列标识号星期 0~6(0表示星期天) 第6列要运行的命令 (使用绝对路径) 此外每一列除了数字,还可以有这些符号:
|
|
logrotate 是linux中默认安装的日志文件管理工具。 。 分割日志文件,删除旧的文件,并创建新的日志文件
|
|
crontab 定时任务
##设置
大
##验证
###备注 环境信息
|
|
TODO
- 代码块行号