作者allen501pc.bbs@bbs.sa.ncyu.edu.tw (靜養中..) 看板: itoc
標題Re: [問題]reaper.c
時間新綠園 (2007/03/12 Mon 01:30:17)
※ 引述《allen501pc (終於忙完了)》之銘言:
> ※ 引述《LHD.bbs@bbs.cs.nctu.edu.tw (不務正業)》之銘言:
> > ───────────────────────────────────────
> > 遇過XD
> > 當 /usr/@ 下已經積太多資料夾時因為無法再寫入
> > 而使程式一直在 rename 那邊跑 log 也一直寫
> > 應該要加個判斷在遇到這狀況時直接停掉~
> reaper.c:reaper():
> if (!life)
> {
> sprintf(buf, "usr/@/%s", lowid);
> /* while (rename(fpath, buf)) 註解開始 = =
> {
> extern int errno;
> fprintf(flog, "rename %s ==> %s : %d\n", fpath, buf, errno);
> sprintf(buf, "usr/@/%s.%d", lowid, ++life);
> }
> 註解結束 @@ */
> userno_free(userno);
> datemsg(buf, &acct.lastlogin);
> fprintf(flog, "%5d) %-13s%s%d\n", userno, acct.userid, buf, login);
> prune++;
> }
> 要用消極的方法去把它註解掉嗎?@@
> 或是有無更好的方法? 敝站在/usr/@底下倒是蠻多資料夾的...
每次執行reaper.c ,會將刪除的帳號搬移到usr/@底下,日積月累下來,usr/@底下的資料夾
過多,造成reaper.c無法做搬移的動作,使得reaper.c一直在寫入reaper (log檔),
最後使得系統硬碟爆滿而當機
解決方法:
[bbs~]# crontab -u bbs -e (加入以下)
# allen501pc: 暴力法: 每一到 奇數月的25 日 就砍掉usr/@底下的東西
50 5 25 1,3,5,7,9,11 * rm -rf /home/bbs/usr/@/* > /dev/null 2>&1
--
╒═╕
║ ║║║ ★愛過方知情重★
╠═╣║║╓═┐╭─╮
║ ║║║╠═╜║ ║ ★醉過方知酒濃★
║ ║║║╰─╯│ │
--
╭─ Origin ─╗ 新綠園 bbs.sa.ncyu.edu.tw ~ κλμ ─┤
├ Author ╡ 220-129-177-253.dynamic.hinet.net