作者eva714413 (Eva)
看板Linux
標題[問題] squid logrotate的問題
時間Tue Aug 13 14:11:07 2013
這個問題困擾我一段時間了,
但我一直找不出原因,
請各位高手們幫忙。
我在CentOS 6.4上架了一台squid(版本3.1.10),並設定crontab在每天23:59分做rotate,
目前在測試階段,因此使用者只有2、3個人
觀察了幾天發現它都會提早去做rotate(但都是在我下班後),
不會在我設定好的時間去做rotate,
我想應該是提早做了,已經沒資料,所以不會去執行(不知我的觀念對不對?)
但我確定我設定crontab的指令是沒錯的
我也去看過/etc/logrotate.conf及/etc/logrotate.d/下的檔案
/etc/logrotate.d/下有一個squid檔,但它的rotate是weekly的,
所以我不知道為什麼它會自動去rotate?
請各位幫忙提點,謝謝!
以下是crontab及/etc/logrotate.d/squid的內容
crontab
10 5 * * * (/usr/sbin/ntpdate tock.stdtime.gov.tw && /sbin/hwclock -w) &> /dev/null
59 23 * * * /usr/sbin/squid -k rotate
1 0 * * * /usr/local/bin/sarg
/etc/logrotate.d/squid
/var/log/squid/*.log {
weekly
rotate 5
compress
notifempty
missingok
sharedscripts
postrotate
# Asks squid to reopen its logs. (log_rotate 0 is set in squid.conf)
# errors redirected to make it silent if squid is not running
/usr/sbin/squid -k rotate 2>/dev/null
# Wait a little to allow Squid to catch up before the logs is compressed
sleep 1
endscript
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.92.3.88
※ 編輯: eva714413 來自: 140.92.3.88 (08/13 14:22)
→ rickieyang:每天同時間? 怎麼知道提前作? 把 cronjob 拿掉也會作? 08/14 00:02
不是每天同時間,時間大約是5點多~7點多之間(這幾天的觀察),不管我幾點離開
一定是在我下班後就是了。
我沒有將crontab給拿掉,因為我裡面設定的時間是23:59分~
有什麼可以測試的方法嗎?!
※ 編輯: eva714413 來自: 140.92.3.88 (08/14 09:15)
→ rickieyang:怎麼知道提前了? 08/15 00:22
→ rickieyang:如果離開後都沒人用, 沒寫 log, reoate 後時間是你 08/15 00:22
→ rickieyang:離開後, 這正常呀. 你把 cronjob 拿掉看會不會 rotate 08/15 00:23
直接去看squid的access.log的rotate時間就知道它提前了
都是在晚上6、7點多左右,我差不多那時下班
我離開後確實沒人會用,但我在crontab上設定的時間是23:59分,
系統應該要在那時去做rotate丫!
系統又怎麼會知道我離開後不會有人去使用proxy呢??
因為我一直這麼想,所以從沒想過您的方法
我來試試看,謝謝呦!
結果如果我再來跟您分享~^^
※ 編輯: eva714413 來自: 140.92.3.88 (08/15 17:25)
推 yvb:r 大的意思是, rotate 不會改檔案時間, 只是改名稱, 08/16 14:43
→ yvb:所以如果你是看檔案時間, 是看到最後一次 squid 寫記錄的時間 08/16 14:44
謝謝r大及y大的講解,
這一切都是我認知錯誤,
謝謝您們解決了我的問題也讓我上了一課,
再次感謝^0^
※ 編輯: eva714413 來自: 140.92.3.88 (08/19 10:28)