crontab은 사용자 변수를 설정하고, 출력을 리디렉션하고, 연결된 네트워크를 감지합니다.

crontab은 사용자 변수를 설정하고, 출력을 리디렉션하고, 연결된 네트워크를 감지합니다.

crontab과 관련된 세 가지 질문이 있습니다.

  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

관련 정보