摘要:保存成功退出,会提示使用命令有可能报的错误,这时需要安装相应的软件包
Shell没基础,但是需要实现nginx日志每日切割的效果,在网上找了一些照搬都没怎么成功,最后自己试验出来的才是真正能用的不是嘛
参考文章:https://www.cnblogs.com/kaitu...
1.在某目录下创建需要定时执行的脚本
# cd /etc/nginx/mylogs
2.创建脚本名为cut-log.sh的脚本
# vim cut-log.sh
3.保存下面的脚本到文件中()
#!/bin/bash ## 零点执行该脚本 ## Nginx 日志文件所在的目录 LOGS_PATH=/home/abc/logs ##nginx.pid所在目录 pid_path="/var/run/nginx.pid" ## 获取昨天的 yyyy-MM-dd YESTERDAY=$(date -d last-day +%Y%m%d) ## 执行mv操作 mv ${LOGS_PATH}/abc.access.log ${LOGS_PATH}/abc.access.log_${YESTERDAY}.log ## 向 Nginx 主进程发送 USR1 信号。USR1 信号是重新打开日志文件 #kill -USR1 $(cat /var/run/nginx.pid) kill -USR1 `cat ${pid_path}`
4.保存退出,允许Shell执行它(可在命令窗口模式下观察文件是否变色成可执行文件)
# chmod 755 cut-log.sh
5.使用 crontab -e 新增一个定时任务,在其中增加执行这个脚本:
# 0 0 * * * /etc/nginx/mylogs/cut-log.sh
到这基本上配置完毕了,linux系统的cron守护线程会在对应的时间执行任务。保存成功退出,会提示crontab: installing new crontab
使用crontab命令有可能报Centos crontab command not found的错误,这时需要安装相应的软件包:
# yum install vixie-cron
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/39771.html
摘要:在轮循任务完成后,已轮循的归档将使用进行压缩。在日志轮循期间,任何错误将被忽略,例如文件无法找到之类的错误。在这种情况下,进程将立即再次读取其配置并继续运行。表示,每隔分钟,执行打印一次命令第二步添加定时任务。 1、关于日志切割 日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到。对于忙碌的服务器,日志文件大小会增长极快,服务器会很快消耗磁盘空间,...
阅读 3594·2021-09-22 15:28
阅读 1249·2021-09-03 10:35
阅读 848·2021-09-02 15:21
阅读 3436·2019-08-30 15:53
阅读 3463·2019-08-29 17:25
阅读 537·2019-08-29 13:22
阅读 1506·2019-08-28 18:15
阅读 2256·2019-08-26 13:57