지정된 파일이 존재하지 않는 경우 이메일 보내기

지정된 파일이 존재하지 않는 경우 이메일 보내기

다음과 같은 작업을 수행해야 합니다.

매일 밤 10시와 다음날 오전 3시에 /x 폴더에 2개의 파일이 저장됩니다. /x 폴더를 검사하여 파일이 있는지 확인하고 그에 따라 매일 메일을 보내는 스크립트를 작성해야 합니다.

파일 형식:

  • ValuationIR**02092013**_0326(파일명 패턴 ValuationIR<date>_<time>.csv:)
  • SnapshotIR**02082013**_2238 (파일명 패턴 SnapshotIR<date>_<time>.csv:)

답변1

이 두 파일이 존재하는지 확인하고 존재하지 않으면 이메일을 보내야 하는 경우 다음과 같이 하면 문제가 없습니다.

test -f file1 -a -f file2 || ( echo "Either file1 or file2 doesn't exist" | sendmail ... )

괄호는 꼭 필요한 것은 아니지만 명확성을 위해 포함합니다. bash 기능을 사용하여 더 읽기 쉽고 쉽게 확장할 수 있지만 이는 쉘에 구애받지 않습니다(대부분의 쉘에는 동일한 작업을 수행하는 방법이 있지만).

send_mail() {
    echo "message text" | sendmail ...
}
test -f file1 -a -f file2 || send_mail

필요한 경우 더 확장할 수 있지만 시작하려면 위의 내용을 참조해야 합니다.

스크립트 자체가 예상대로 작동하면 이를 사용자 crontab에 추가하여 매일 밤 지정된 시간에 실행할 수 있습니다.

관련 정보