免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2204 | 回复: 4
打印 上一主题 下一主题

apache日志轮循rotatelogs 的日志文件名 可以以周三 或者周四开头吗? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-07-05 11:07 |只看该作者 |倒序浏览
请教高手:apache日志轮循rotatelogs  如何指定文件名(要求按周写文件名,且周的开始日期为周四)
CustomLog "|/usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/access_log.%Y.%W 1024M"

上面的只能实现按照周来写文件名。
我需要写的文件名  应该是  一周写一个文件,而且周的开始 日子 不是周一或者周日。而是周三 或者其他日子。

有办法吗??
谢谢了

论坛徽章:
0
2 [报告]
发表于 2007-07-05 11:48 |只看该作者
没人知道吗? 还是我没说清楚?

论坛徽章:
0
3 [报告]
发表于 2007-07-05 15:02 |只看该作者
自己顶一下!!!!!

论坛徽章:
0
4 [报告]
发表于 2007-07-05 17:11 |只看该作者
高手有空帮我关注下下a

论坛徽章:
0
5 [报告]
发表于 2007-07-06 00:47 |只看该作者
原帖由 aaronyou 于 2007-7-5 11:07 发表于 1楼  
請教高手:apache日誌輪循rotatelogs  如何指定文件名(要求按周寫文件名,且周的開始日期為週四)
CustomLog "|/usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/access_log.%Y.%W 1024M"
上面的只能實現按照周來寫文件名。
我需要寫的文件名  應該是  一週寫一個文件,而且周的開始 日子 不是週一或者週日。而是週三 或者其他日子。


沒這個東西,你要自己寫個 shell script 模擬 logrotate 的功能。

所以樓主先生,有想好你要的程式碼怎樣寫了嗎 ?

寫個 shell script,呼叫 date 取得今天時間,比方 date +%u 可以取出今天是星期幾.... 判斷是週3就運作,要不然就結束。

呼叫 date +xxx 取得你要的時間欄位輸出,比方 date +%Y-%d-%m 等,然後把 access_log 搬移成為 access_log.xxxxx 等檔案,然後對 apache daemon 送出 SIGHUP 讓他關閉 log 並重新開啟 log 即可使用。

程式碼大概可能是:


  1. current_date=$(date +%Y-%m-%d)
  2. current_week=$(date +%u)

  3. if [ "$current_week" == "3" ]; then
  4.     mv access_log  access_log.$current_date
  5.     kill -HUP <your_apache_parent_process_pid>
  6. fi
复制代码


這段 code 請自行修改調整即可....

--
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP