私の/etc/crontab
ファイル:
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
これが実際に何をしているのかはわかっていますが、コマンドラインはわかりません。
男の「テスト」はまったく役に立たない:
test - check file types and compare values
どんな助けでも大歓迎です
FreeBSDのman test
から:[1]
-x file True if file exists and is executable. True indicates only
that the execute flag is on. If file is a directory, true
indicates that file can be searched.
したがって、cronjobsはanacron
がインストールされている[2](つまり、予想される場所にanacronと呼ばれる実行可能ファイルがある)かどうかをテストし、そうでない場合を実行します-つまり、それぞれの/etc/cron.*
フォルダ内のスクリプト。
(1) Bashの組み込みtest
には同じ-x
オプションがあります
(2)Anacronは、常に実行されているとは限らないコンピューター用に設計されたcronの代替品です。 つまり、実行するジョブがある場合weeklyの場合、実行されますweekly、コンピュータの稼働時間に関連して、つまり、毎週金曜日に実行されるわけではありません、ただし、24 * 7時間の稼働時間ごと。 (編集間違いです、コメントを参照してください)
[ -x <filename> ]
。 test -x <filename>
も同じことを行い、このファイルが存在し、実行可能かどうかをテストします。
Manページで引用されているように、testはevalとよく似ており、条件式exprを評価し、戻りステータスで終了します。多くの場合、テストは、ファイルのタイプを式として判別するために使用されます。この場合、trueまたはfalseケースの戻りのチェックに使用されます。 crontabで、test -x filename
。ファイル名は式として使用されます。これは[ -x filename ]
と同じです。ファイルが存在し、実行可能である(ビットが設定されている)場合、これはtrueを返します。 man test
は、ファイルの条件式およびその他の有効なシェル式を評価するためのタイプのさまざまなオプションの明確な詳細を提供します。
例えば:
test -1 -gt -2 && echo yes
は「はい」と印刷します。
test 0x100 -eq 1
エラー->テスト:-eqの前に整数式が必要です