CentOS 6.5システムで動作するニュースサーバーがあります。これはリーフノードで、cronは2分ごとに実行されるように設定されています。他の問題を解決するためにこの機能をオフにすることにしたので、crontabで次の行をコメントアウトしました。
# */2 * * * * /usr/sbin/fetchnews
しかし、何らかの理由で、我々はまだニュース記事を更新しています。だから私たちはこのバイナリの権限を変更することにしました。
chmod 400 /usr/sbin/fetchnews
その後、2分ごとに「/usr/sbin/fetchnews:権限が拒否されました」というメールが届き始めました。
実際には、crondに関連する/ etcのすべての内容である/ etc / cron / hourlyを見ていきます。ルートのcrontabファイル、ニュースユーザーのcrontabファイル、他のユーザーのcrontabファイルにはありません。
このバイナリが実行される原因をどのように知ることができますか?
ありがとうございます。
答え1
努力するgrep -ri fetchnews /etc/cron* /var/spool/cron/tabs/*
。
コメントアウトした行以外に他の結果はありますか?
答え2
watch "ps -ef | grep fetchnews"
ps -ef | grep fetchnews
2秒ごとに出力が表示されます。出力では、ps -ef
親pidは3番目のフィールド(この場合は1458)です。
ulmi 1462 1458 0 18:20 pts/1 00:00:00 sh -c ps -ef | grep ls
これはあなたのfetchnewsを作成したものであり、役に立つかもしれません。
(私の水晶玉はcrontabを直接編集してみますか?実行するだけで新しいタブを選択crontab -e
できることを保証します。)crond
答え3
ニュースファイルを所有しているユーザーがいるとしましょう。このタスクを担当するそのユーザーのプライベートcrontabエントリにcronエントリがある可能性があります。ユーザーcronはRHELシステムで維持されます。
$ sudo ls -l /var/spool/cron/
total 4
-rw-------. 1 slm slm 9 Oct 6 13:30 slm
そこにエントリがある場合は、sudo
次のように指定されたファイルに何があるかを確認できます。
$ sudo crontab -u slm -l
### blah
このファイルのエントリをコメントアウトしてcrontab
実行を無効にできます。タスクがかなり短い場合は、cronサービスを一時的に無効にすることもできます。
$ sudo service crond stop