ルートとして、すべてのユーザーのcrontabをリストするにはどうすればよいですか?


47

予想されるユーザーのcrontabで見つからないスクリプトが自動的に実行されているため、すべてのユーザーのcrontabで検索したいと思います。

基本的にcrontab -l、すべてのユーザーに対してaを実行します。

回答:


77

スクリプトにもよりますが、簡単にrootとしてcrontabを見つけることができます

crontab -l -u <user>

または、すべてのユーザーのファイルがあるスプールからcrontabを見つけることができます

cat /var/spool/cron/crontabs/<user>

すべてのユーザーのcrontabを表示し、各行の先頭にユーザー名を表示するには:

cd /var/spool/cron/crontabs/ && grep . *

1
素晴らしい、/ var / spool / cron / crontabs /を見るとうまくいきました、ありがとう!
非常に不規則な

1
crontab -e -u <user>編集することも同様に動作します
vladkras

/var/spool/cron/<user>Centos 7ホストで。
ボブスタイン

5

すべてのユーザーをリストし、すべてのユーザーのcronを出力する1つのライナー:

for user in $(getent passwd | cut -f1 -d: ); do echo $user; crontab -u $user -l; done

このソリューション:

  • (システムの特定のcrontabパスを知るなどを必要とせず、/var/spool/cron/crontabs//var/spool/cron/
  • 「孤立した」cron、つまり、もう存在しない(したがって効果的に実行されない)ユーザーのcronをリストしません。

注:これはで動作しますshが、動作しませんbash
TIW

0

RHEL / OELでは、すべてのユーザーが作成したcronジョブをリストできます。

#cd /var/spool/cron/
#ls -1
root
oracle
user1

ルートのcronjobを表示するには:

#cat root

crontabデータベースの同時編集を防ぐため、crontab(1)インターフェイス(コマンド)を使用する必要があります。
ダーク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.