crontab 【> /dev/null 2>&1】について

crontabで”>/dev/null 2>&1”ってコマンドがありますが、意味が分からなかったのでメモっておきます。

これも結構重要なコマンドなのでしっかり頭に入れておくこと。

【> /dev/null 2>&1】の意味

要は、ごみ箱みたいなもの。

/dev/nullってのがゴミ箱です。

それでは、数字の1と2のは何の意味かというと。

  • 1=標準出力
  • 2=エラー出力

という感じです。

そして、”>/dev/null 2>&1”コマンドの意味は

2「エラー出力」を1「標準出力」として出力し、標準出力をまとめてゴミ箱に入れますっていう意味になります。

それではエラー出力やら標準出力ってなんなのかってことですが、crontabで書かれたコマンドの出力ってことです。
定期的にcronが動くのでそのたびにログが吐かれます。

そのログを毎回、ゴミ箱に入れましょうって意味です。

【> /dev/null 2>&1】をしないとどうなるのか

一例ですが、例えばメール(postfix)を設定していると、毎回cronで叩かれたコマンドの出力結果がメールに届いちゃったりするんです。

標準出力結果もエラー出力も毎回メールで届いちゃうと、ほんとめんどくさいです。

なので【> /dev/null 2>&1】っていうコマンドを、書くわけです。

コマンド例は、以下になります。

*/5 * * * * /usr/sbin/ntpdate ntp.nict.jp -b > /dev/null 2>&1

以上です。




エンジニアのオンライン学習

ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。

おすすめオンライン教材
自宅で学習ができるオンラインスクール

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。



ABOUT US
げんき☆ひろき
インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!