次のようなcrontabを使用しています:
00 */1 * * * wget http://www.test.com/cron/archieve
> /dev/null 2>&1
コマンドの最後に使用する違いと、それが推奨されるかどうかを知りたいです。
を追加しない場合> /dev/null 2>&1
、そのコマンドの出力は、この cron ジョブが実行されるユーザー (おそらくあなた) にメールで送信されます。
cron ジョブによってスパムされたくないのではないかと思いますが、これはあなた次第です。
編集:> /dev/null 2>&1
実際に何を意味するのか説明。
3 つの標準ファイル記述子があります: 0 (stdin)、1 (stdout)、および 2 (stderr)。
> file
と同じ1> file
です。つまり、リダイレクト std です。ファイル記述子 1 (stdout) をファイルに送信します。
2>&1
リダイレクト std を意味します。ファイル記述子 2 (stderr) を、1 (stdout) がリダイレクトされるのと同じ場所に転送します。
最後に、手段の完全な効果により> /dev/null 2>&1
、stdout と stderr の両方が にリダイレクトさ/dev/null
れます。つまり、そのプログラムは完全にサイレントになります。
> /dev/null 2>&1
結果が問題にならない場合は、stdio/stderr ストリームをリダイレクトできます。いくつかの例を参照してください:
alex@work:~/dev$ ls
arm-2011.03-42-arm-none-eabi.bin linux
backup_from_ak linux-3.4.6.tar.bz2
bc-1.06 linux.tar.gz
CodeSourcery mach-lpc32xx
alex@work:~/dev$ ls > /dev/null 2>&1
alex@work:~/dev$