
cronjobs
ファイルに書き込むとき:
* * * * * foo bar
コマンドをユーザーとしてfoo
実行する必要があるのか、それとも入力パラメーターを指定したコマンドで実行する必要があるのか、システムからどのように知ることができますか?bar
foo
bar
答え1
違いは次のとおりです。ユーザーcrontabファイルにユーザー名フィールドがない場合システム常にユーザー名を含むcrontabファイル。ユーザーcrontabファイルは、crontab(1)
コマンドを介してアクセスされるファイルです。システム対照的に、crontabファイルは通常ディレクトリにあり、インターフェイスを介してetc
編集crontab(1)
されません。
だからそれを知る必要がありますcron(8)
。crond(8)
ユーザーcrontabファイルの解析(6番目のフィールドはコマンド)またはシステムファイル(6番目のフィールドはユーザー名であり、グループでもかまいません)これは、cronファイルが実行されているディレクトリに応じてフラグを使用して設定できます。同時に、システム管理者はcrontab -e
特定の方法でファイルを編集しているかどうかを覚えておくことを望みます。ユーザーまたは代わりに修正してくださいシステムクローンタブファイル。
通常、ファイルにはデフォルト値などのフィールドを思い出させるコメントがあります。ユーザーOpenBSD の crontab ファイルには以下がroot
含まれます。
#minute hour mday month wday [flags] command
...
またはシステム一部のLinuxシステムでは、crontabファイルに次のコメントがあります。
#minute hour mday month wday user command
# how much are the dhcp pools being used?
36 */4 * * * root ...
crontab(5)
自分で思い出させる必要がある他の問題がある可能性があるため、頻繁に読むことをお勧めします。
答え2
これは編集中のcrontabファイルによって異なります。
ユーザー固有のcrontabファイルには、どのユーザーアカウントがコマンドを実行するのかが明確であるため、ユーザーフィールドはありません。一方、システムcrontabファイルのエントリには、コマンドが実行されるユーザーアカウントを識別するフィールドが必要です。