[問題] squid logrotate的問題(已解決)

看板Linux作者 (Eva)時間12年前 (2013/08/13 14:11), 編輯推噓1(105)
留言6則, 2人參與, 最新討論串1/1
這個問題困擾我一段時間了, 但我一直找不出原因, 請各位高手們幫忙。 我在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)

08/14 00:02, , 1F
每天同時間? 怎麼知道提前作? 把 cronjob 拿掉也會作?
08/14 00:02, 1F
不是每天同時間,時間大約是5點多~7點多之間(這幾天的觀察),不管我幾點離開 一定是在我下班後就是了。 我沒有將crontab給拿掉,因為我裡面設定的時間是23:59分~ 有什麼可以測試的方法嗎?! ※ 編輯: eva714413 來自: 140.92.3.88 (08/14 09:15)

08/15 00:22, , 2F
怎麼知道提前了?
08/15 00:22, 2F

08/15 00:22, , 3F
如果離開後都沒人用, 沒寫 log, reoate 後時間是你
08/15 00:22, 3F

08/15 00:23, , 4F
離開後, 這正常呀. 你把 cronjob 拿掉看會不會 rotate
08/15 00:23, 4F
直接去看squid的access.log的rotate時間就知道它提前了 都是在晚上6、7點多左右,我差不多那時下班 我離開後確實沒人會用,但我在crontab上設定的時間是23:59分, 系統應該要在那時去做rotate丫! 系統又怎麼會知道我離開後不會有人去使用proxy呢?? 因為我一直這麼想,所以從沒想過您的方法 我來試試看,謝謝呦! 結果如果我再來跟您分享~^^ ※ 編輯: eva714413 來自: 140.92.3.88 (08/15 17:25)

08/16 14:43, , 5F
r 大的意思是, rotate 不會改檔案時間, 只是改名稱,
08/16 14:43, 5F

08/16 14:44, , 6F
所以如果你是看檔案時間, 是看到最後一次 squid 寫記錄的時間
08/16 14:44, 6F
謝謝r大及y大的講解, 這一切都是我認知錯誤, 謝謝您們解決了我的問題也讓我上了一課, 再次感謝^0^ ※ 編輯: eva714413 來自: 140.92.3.88 (08/19 10:28)
文章代碼(AID): #1I2StzJR (Linux)