原因:機器每天凌晨01:00和04:00 CPU占用率100,是cron.daily的原因。修改下。
$ cat crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
/etc/cron.deny文件就是用於控制不讓哪些用戶使用Crontab的功能。
另外在/var/spool下面存在著二個目錄cron,anacron。
其中cron目錄下面有每個用戶的透過crontab -e增加的crontab的內容。
anacron目錄下面是記錄的是cron.daily,cron.monthly,cron.weekly的上一次執行的時間。
linux的cron服務是每隔一分鍾去讀取一次/var/spool/cron,/etc/crontab,/etc/cron.d下面所有的內容。
在linux系統上,默認情況下在/etc/cron.daily目錄下面存在以下文件:
-rwxr-xr-x 1 root root 286 Aug 14 2004 tmpwatch
-rwxr-xr-x 1 root root 276 Sep 29 2004 0anacron
-rwxr-xr-x 1 root root 2133 Dec 1 2004 prelink
-rwxr-xr-x 1 root root 180 Jul 13 2005 logrotate
-rwxr-xr-x 1 root root 121 Aug 9 2005 slocate.cron
-rwxr-xr-x 1 root root 48 Apr 10 2006 mcelog.cron
-rwxr-xr-x 1 root root 418 Apr 14 2006 00-makewhatis.cron
-rwxr-xr-x 1 root root 104 May 31 2006 rpm
lrwxrwxrwx 1 root root 28 Apr 7 08:25 00-logwatch -> ../log.d/scripts/logwatch.pl
這裡有些東西是很耗資源的,可以考慮去掉:
tmpwatch的作用是清除掉一些長時間沒有訪問的過時文件。這個留著。
0anacron的作用是更新crontab job的執行時間,這個必須要留著。它在名稱的前面另上0,以保證這個程序會在
其他程序前執行。並且這個被run-parts自動調用。
prelink的作用是預連接一些動態連接庫和可執行文件,以此來加快啟動時間和减少run-time的內存分配,有點類似於oracle
的dbms_shared_pool.keep的作用一樣。這個東西是個雙刃劍。
logrotate的作用循環利用,壓縮一些系統日誌的,還是留著。
slocate.cron的作用更新slocate database,用於為locate服務的,很消耗資源,可以停掉。
mcelog.cron的作用是用於生成/var/log/mcelog文件,留著。
00-makewhatis.cron的作用是創建whatis database,用於為whatis服務的。較為消耗資源,可以去掉。
這個在cron.weekly裡面也存在,這裡面的也可以去掉。
rmp的作用是每天將系统上安装過的rpm包的信息放到/var/log/rpmpkgs中去。這個也沒什麼用處,可以去掉。
00-logwatch 的作用是用於監控linux log文件的。可以留著。
----------------------------------------------------
/etc/cron.daily/slocate.cron:
許多 Linux® 系統都有一個稱為 /etc/cron.daily/slocate.cron 的文件,它每天都會運行磁盤密集型的 dbupdate 程序。這個程序允許您使用 locate 命令來代替 find 命令,以執行查找文件的工作。如果您從來都不使用 locate 命令,那麼您可以對 /etc/cron.daily/slocate.cron 文件進行編輯,以使 dbupdate 程序不以超級用戶的身份運行,啟動最常用的編輯器,並且註譯其中的指令。
留言列表