2017-11-15 5 views
0
인 디렉토리의 파일을 검사하기위한 쉘 스크립트

특정 경로의 파일을 검사하기 위해 쉘 스크립트를 작성하려고 시도하는 경우 파일을 사용할 수 있으면 사용할 메일이 있어야합니다. 그렇지 않으면 실패 메일을 받아야합니다. 하지만 하나의 파일을 사용할 수있는 경우에도 내 쿼리 내가 성공 메일을 받고 있지만 매일 하나의 파일을 사용할 수없는 경우에도 9 파일을 받고있다 실패 메일을받을 필요가 위의 논리에 대한 스크립트를 작성 도와주세요카운트가

cd /file path 
if [ -f $(date '+%Y%m%d') file name ]; then 
echo "Hi Team, Input Files have been received successfully" |  mailx -s "SUCCESS" -r "FILE_CHK" [email protected] 
else 
echo "Hi Team, Input Files have NOT been received . Please check" |  mailx -s "FAILED" -r "FILE_CHK" [email protected] 
fi 
exit 

답변

0

모든 파일이 존재하는지 확인하고 성공한 경우에만 메일을 보내야합니다. 하나의 파일 만 존재하면 오류 메시지를 직접 보내야합니다.

다음 코드 프로토 타입은 트릭을 수행합니다

#!/bin/bash 
files=("file1" "file2" "file3") 
for i in "${files[@]}" 
do 
    echo "Checking if file: $i exists." 
    if [ ! -f $i ]; then 
     echo "Hi Team, Input File $i has NOT been received! Please check" | mailx -s "FAILED" -r "FILE_CHK" [email protected] 
     exit 0; 
    fi 
done 
echo "Hi Team, Input Files have been received successfully" | mailx -s "SUCCESS" -r "FILE_CHK" [email protected] 
기본적으로

당신이 확인해야 할 파일의 목록을 가지고, 당신이 요소가 존재한다는에 의해 요소를 확인하고을의 요소 중 하나가 목록이 없으면 메일로 실패 알림을 보내고을 종료하십시오.

모든 파일이있는 경우에만 성공 메시지를 보냅니다.

이 스크립트는 사용자의 특정 요구 사항 (타임 스탬프 추가 등)에 적응해야하는 골격에 불과합니다.