파일이 존재하는 경우 파일을 찾는 스크립트를 작성하고 grep을 사용하여 문자열을 찾으십시오.

파일이 존재하는 경우 파일을 찾는 스크립트를 작성하고 grep을 사용하여 문자열을 찾으십시오.

K7AAY와 0xSheepdog의 제안을 바탕으로 다시 설명하겠습니다.

grep매일 특정 시간 범위 내에 파일이 전송될 때 로그 파일을 생성하는 bash 스크립트를 만들어야 합니다 .

파일 이름은 일반적으로 다음과 같습니다.YYYYMMDD_HHMMSS_SEND_FILENAME_TO_HOST.log

(이 로그 파일은 CFTutil파일 전송 애플리케이션에서 생성됩니다.)

이 로그 파일에는 수행할 수 있는 다음 문자열을 찾는 스크립트가 필요합니다.

성공적인

이제 파일이 x회와 y회 사이에 성공적으로 전송되면 스크립트는 이메일을 보내야 합니다. x~y번 사이에 파일이 전송되지 않으면 이메일을 전송해야 합니다. y 이후에 파일을 보내면 파일이 보내지지 않으면 이메일을 보내야 합니다.

다음 스크립트를 실행할 수 있지만 막혔고 이것이 최선의 접근 방식이라고 생각하지 않습니다. 이 스크립트는 1개의 파일만 검색하므로 15개의 파일에 대해 이 작업을 수행해야 합니다.

각 파일에 대한 스크립트를 생성하고 cron 작업을 사용하여 예약하지만 언제든지 실행할 수 있고 그 안에 있는 각 파일에 대한 상태 보고서를 받을 수 있도록 모든 작업을 하나의 스크립트에서 수행하고 싶습니다.

현재 스크립트는 다음과 같습니다.

#!/bin/bash
dt=$(date +"%Y%m%d")
HHMM=$(date '+%H:%M')

if
        find ./ -newermt "$dt 21:30:00" ! -newermt "$dt 23:50:00" -name "$dt_*SEND_FILE1_TO_HOST.log" -exec grep -i successful {} \;
then
#       mail -s "File File1 Transmission Report" [email protected] <<< "File was generated and successfully sent at $HHMM";
        echo "Sucess"
elif
        find ./ -newermt "$dt 21:30:00" ! -newermt "$dt 23:50:00" -name "$dt_*SEND_FILE1_TO_HOST.log" -exec grep -i unsuccessful {} \;
then
#       mail -s "File File1 Transmission Report" [email protected] <<< "File was generated but unsuccessfully sent at $HHMM";
        echo "Error"
elif
        find ./ -newermt "$dt 21:30:00" ! -newermt "$dt 23:50:00" -name "$dt_*SEND_FILE1_TO_HOST.log" -exec false {} \;
then
#        mail -s "File File1 Transmission Report" [email protected] <<< "File not generated in due time Please verify ASAP";
        echo "Not Found"
fi

newermt작동하지 않습니다. 여전히 시간 범위 내에서 파일을 검색하는 방법을 알아내려고 노력 중입니다.

CFTUTIL은 호스트 간의 파일 수신 및 배포를 모니터링하는 도구입니다. 파일 디렉터리를 지속적으로 모니터링하고 파일이 수신되면 배포하고 보관합니다. 이렇게 하면 각 호스트에 대한 로그가 생성됩니다.

그러한 스크립트를 어떻게 만들 수 있습니까?

관련 정보