当前位置: 首页 > wzjs >正文

快云助手网站建设视频教程外链网盘源码

快云助手网站建设视频教程,外链网盘源码,香港服务器哪家便宜,网站设计与开发期末考试题原文网址:Nginx--手写脚本压缩和切分日志(也适用于docker)_IT利刃出鞘的博客-CSDN博客 简介 本文介绍nginx如何手写脚本压缩和切分日志。 1.创建切分日志的脚本 创建脚本文件:/work/tmp/nginx-log_sh(后边要用run-…

原文网址:Nginx--手写脚本压缩和切分日志(也适用于docker)_IT利刃出鞘的博客-CSDN博客

简介

本文介绍nginx如何手写脚本压缩和切分日志。

1.创建切分日志的脚本

创建脚本文件:/work/tmp/nginx-log_sh(后边要用run-parts去运行,脚本名中不能带.)

内容如下:

法1:每小时执行

#!/bin/bash# 轮转的时间单位
rotateUnit="1 hour"
# 日志位置
logPath=/work/middle/nginx/logs/
# 文件存活天数(这些天之前的文件会被删掉)
oldFileTtl=20# 当前时间
nowTime=$(date +"%Y%m%d %H")
# 上一段时间
preTime=$(date -d "$nowTime -$rotateUnit" +"%Y%m%d %H")
# 上一段时间对应的文件名后缀
preTimeFileSuffix=$(date -d "$nowTime -$rotateUnit" +"%Y%m%d_%H")
# 上一段日期对应的目录
preDatePath=$(date -d "$preTime" +"%F")if [ ! -d "$logPath" ];
thenexit 1
ficd $logPathif [ ! -d "$preDatePath" ];
thenmkdir -p "$preDatePath"
fi# 将access.log和error.log移到日期文件夹内
mv *.log $preDatePath# 通知Nginx,让它重新生成一份access.log和error.log
docker exec nginx1.23.3 /bin/bash -c \"if [ -f /run/nginx.pid ]; then kill -USR1 `docker exec nginx1.23.3 cat /run/nginx.pid`; echo 日志打包完毕; fi"# 如果是非docker方式启动nginx,则这样写# [ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`# 压缩文件
pushd $preDatePath
tar czf $preTimeFileSuffix.tar.gz *.log
rm *.log -f
popd# 删除指定时间之前的日志
find ./ -type d -mtime +$oldFileTtl | xargs rm -rf
find ./ -type d -mtime +2 -empty -delete 

备注

 如果需要指定时区,可以这么写:

#!/bin/bashgetNowTime()
{TZ='Asia/Shanghai' date "+%Y%m%d_%H%M"
}
nowTime=$(getNowTime)

法2:每天执行

#!/bin/bash# 轮转的时间单位
rotateUnit="1 day"
# 日志位置
logPath=/work/middle/nginx/logs/
# 文件存活天数(这些天之前的文件会被删掉)
oldFileTtl=20# 当前时间
nowTime=$(date +"%Y%m%d")
# 上一段时间
preTime=$(date -d "$nowTime -$rotateUnit" +"%Y%m%d")
# 上一段时间对应的文件名后缀
preTimeFileSuffix=$(date -d "$nowTime -$rotateUnit" +"%Y%m%d")
# 上一段日期对应的目录
preDatePath=$(date -d "$preTime" +"%F")if [ ! -d "$logPath" ];
thenexit 1
ficd $logPathif [ ! -d "$preDatePath" ];
thenmkdir "$preDatePath"
fi# 将access.log和error.log移到日期文件夹内
mv *.log $preDatePath# 通知Nginx,让它重新生成一份access.log和error.log
docker exec nginx1.23.3 /bin/bash -c \"if [ -f /run/nginx.pid ]; then kill -USR1 `docker exec nginx1.23.3 cat /run/nginx.pid`; echo 日志打包完毕; fi"# 如果是非docker方式启动nginx,则这样写# [ -f /var/run/nginx.pid ] && kill -USR1 `cat /var/run/nginx.pid`# 压缩文件
pushd $preDatePath
tar czf $preTimeFileSuffix.tar.gz *.log
rm *.log -f
popd# 删除指定时间之前的日志
find ./ -type d -mtime +$oldFileTtl | xargs rm -rf
find ./ -type d -mtime +2 -empty -delete 

2.创建定时任务

命令

sudo crontab -e

添加如下内容(本处我用两分钟执行一次来测试)

*/2 * * * * run-parts /work/tmp &>>/work/tmp/log.txt

实际应该这样写每小时执行一次:

​1 * * * * run-parts /work/tmp &>>/work/tmp/log.txt

编辑完保存后,会自动生效。如下图所示:

3.查看任务是否执行

如图所示,已经执行

4.查看结果

可以发现,已经执行成功

http://www.dtcms.com/wzjs/437208.html

相关文章:

  • 梅州站扩建信息发布网站有哪些
  • 网页设计赚钱吗深圳seo培训
  • 广东省网站备案seo实战培训
  • 用代码做一号店网站怎么做安卓手机优化神器
  • 小程序收录wordpress主题杭州seo培训
  • 湖南智能网站建设报价英文外链平台
  • 做ptt有什么好的模板网站3d建模培训学校哪家好
  • 网页制作与网站建设实战大全 光盘接外包项目的网站
  • 郑州网站定制app推广一手单
  • 网站 国外服务器b2b采购平台
  • 代办网站企业备案广告投放平台排名
  • 深圳网站建设开发今日时政新闻
  • 遵义住建局查询网站在百度怎么创建自己的网站
  • 网站域名不备案seo排名赚app靠谱吗
  • 网站建设 月嫂 模板微商软文范例
  • 胶南市城乡建设局网站今日国内新闻头条大事
  • 大连网站建设 选领超科技百度关键词首页排名服务
  • 网站域名跳转代码全球网络营销公司排名
  • win7如何建设免费网站东莞营销网站建设
  • 上海门户网站建设方案刷僵尸粉网站推广
  • 中小企业建网站注意苏州seo招聘
  • 国外做化工产品的网站杭州seo推广排名稳定
  • 承德很好的网络建站电商seo是指
  • wordpress自主注册seo推广培训
  • 免费网站排名优化网站关键词优化排名怎么做
  • 服务好的做培训网站pageadmin建站系统
  • 网站制作建设哪家公司好品牌推广策略包括哪些内容
  • 专业的外贸网站建设三只松鼠搜索引擎推广
  • 企业网站备案收费百度竞价推广效果好吗
  • 网站开发的一般流程站长seo