サーバーリソースの使用状況を確認するためにkSarを使用しています。毎日午前4時4分にプロセスの作成に明確なスパイクがあります。 Cronは実行する間隔を定義しているようですが、特定の時間は定義していません
そのときに実行されているcronジョブを見つけるにはどうすればよいですか?
CentOS 5または6のシステムを見ると、ファイル/etc/crontab
は通常、すべてのアクションが開始される場所です。さまざまなスクリプトを含む4つのディレクトリがあります。これらのディレクトリの名前は次のとおりです。
$ ls -1d /etc/cron*
/etc/cron.d
/etc/cron.daily
/etc/cron.deny
/etc/cron.hourly
/etc/cron.monthly
/etc/crontab
/etc/cron.weekly
/etc/cron.d
と/etc/cron.deny
は特別なので、ここでは説明しません。残りの4つのディレクトリ:毎時、毎日、毎週、および毎月は、名前が示すとおりです。しかし、彼らはいつ走りますか? /etc/crontab
をご覧ください。
######################################################################
## 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
######################################################################
午前4時4分に毎日実行されている何かの問題は?これを引き起こしているのは/etc/cron.daily
ディレクトリです。実際の犯人が何であるかを知るためには、そのディレクトリに何があるかを理解する必要があります。しかし、私が推測する必要がある場合、それはおそらくこれらの2人の男の1人です:
$ ls -l /etc/cron.daily
logrotate
mlocate.cron
システムに負荷をかけている異常なcronがある場合は、常にログファイルを調べてください。これが、私のCentOS 5システムで4AMに実行されているすべてのものです。
$ grep " 04:" /var/log/cron | head -10
Feb 9 04:10:01 skinner crond[25640]: (root) CMD (/usr/lib/sa/sa1 1 1)
Feb 9 04:20:02 skinner crond[27086]: (root) CMD (/usr/lib/sa/sa1 1 1)
Feb 9 04:22:01 skinner crond[27432]: (root) CMD (run-parts /etc/cron.weekly)
Feb 9 04:22:01 skinner anacron[27436]: Updated timestamp for job `cron.weekly' to 2014-02-09
Feb 9 04:30:01 skinner crond[28561]: (root) CMD (/usr/lib/sa/sa1 1 1)
Feb 9 04:40:01 skinner crond[30022]: (root) CMD (/usr/lib/sa/sa1 1 1)
Feb 9 04:50:01 skinner crond[31482]: (root) CMD (/usr/lib/sa/sa1 1 1)
Feb 10 04:00:02 skinner crond[7578]: (root) CMD (/usr/lib/sa/sa1 1 1)
Feb 10 04:01:01 skinner crond[7700]: (root) CMD (run-parts /etc/cron.hourly)
Feb 10 04:02:01 skinner crond[7934]: (root) CMD (run-parts /etc/cron.daily)
04:02 AMタイムスロットに注意してください。
前の回答では、ユーザーごとのcronジョブは考慮されていません。
また、チェックアウト:
/var/spool/cron/crontabs