web-dev-qa-db-ja.com

rootとして、すべてのユーザーのcrontabを一覧表示するにはどうすればよいですか?

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

基本的に私はcrontab -lすべてのユーザー。

60

スクリプトに依存しますが、簡単にルートとしてcrontabを見つけることができます

crontab -l -u <user>

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

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

各行の先頭にユーザー名が出力されているすべてのユーザーのcrontabを表示するには:

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

すべてのユーザーをリストし、すべてのユーザーの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をリストに含めない
10
Jakub Kukul

RHEL/OELでは、すべてのユーザーが作成したcronジョブを一覧表示できます。

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

Rootのcronjobsを表示するには:

#cat root
0
Vivek B.S.

次のコマンドを使用して、指定したシステム上のすべてのCronジョブを見つけます。

find /etc/cron* -type f -perm -o+w -exec ls -l {} \;
0
Boschko