crontabはユーザー変数を設定し、出力をリダイレクトし、接続されたネットワークを検出します。

crontabはユーザー変数を設定し、出力をリダイレクトし、接続されたネットワークを検出します。

crontabに関する3つの質問があります。

  1. $HOMEcrontabで変数にアクセスできますか?たとえば、$HOME次のように使用します。 PATH=$HOME/bin:$HOME/scripts:$PATH?or * * * * * echo "test" > $HOME/test.txt?

  2. crontabは正常にリダイレクトされたいstdoutが、メールはユーザーに/dev/nullリダイレクトされます。stderrたとえば、コンピュータの電源が入っているときいいえネットワークに接続すると、crontabのエントリはエラーを* 2 * * * getmail -n -q ...返すため、crontabはユーザーにこのエラーを含む電子メールを送信します。

  3. 上記の例に基づいて、getmailシステムがcrontabメールユーザーを実行している場合いいえネットワークに接続されているため、ユーザーがネットワークに接続しているかどうかを検出する方法が必要です。

この検出方法に関しては、次のことが必要です。

  1. 早く

  2. シンプル

  3. 他のcrontab操作で簡単に使用できます(例:コントロールの使用:&&、||、|など)。

答え1

  1. 確かに
  2. * 2 * * * getmail -n -q ... > /dev/null

stdoutとstderrをリダイレクトするには... 2>&1 > /dev/null

関連情報