USB 백업 드라이브가 자주 교체되지 않는 경우 경고 이메일 전송을 자동화하는 방법은 무엇입니까?

USB 백업 드라이브가 자주 교체되지 않는 경우 경고 이메일 전송을 자동화하는 방법은 무엇입니까?

우리의 오프사이트 백업 시스템은 직원이 매주 어떤 USB 드라이브를 파일 서버에 연결하는지 교대로 사용합니다.

연결된 드라이브는 Robocopy를 실행하는 예약된 배치 파일을 사용하여 서버의 데이터 파티션과 동기화됩니다(밤 10시). USB 드라이브 자체는 둘 중 하나가 분실되거나 도난당할 경우 조직을 보호하기 위해 Truecrypt를 사용하여 암호화됩니다.

우리 백업 시스템의 약한(사람에 의존하는) 링크는 매주 드라이브 교체를 담당하는 직원입니다. 때때로 그는 필요한 주간 단위로 이 일을 하는 것을 잊어버릴 뿐만 아니라 한 달이 넘도록 잊어버립니다.

이전 질문에 대한 답변 덕분에 드라이브 회전 시기를 추적할 수 있는 로깅 설정이 이미 있습니다.여기. 따라서 우리는 특정 날짜에 어떤 드라이브가 연결되었는지 추적하는 로그 파일을 이미 가지고 있습니다.

지금 내가 원하는 것은 백업 일정이 2주 이상 누락된 경우 서버(SBS 2003)에서 드라이브 회전을 담당하는 사용자, 사용자의 상사 및 나(sysadmin)에게 자동 이메일을 보내는 것입니다. Outlook 2010은 현재 서버에 설치되어 있지 않지만 필요한 경우 설치될 수 있습니다.

연결된 백업 드라이브를 추적하는 로그의 데이터 형식은 다음과 같습니다.

Volume in drive V is BACKUP 1
Sat 05/10/2014 
22:00:00.77 

Volume in drive V is BACKUP 1
Sun 05/11/2014 
22:00:00.44 

Volume in drive V is BACKUP 1
Mon 05/12/2014 
22:00:00.39 

Volume in drive V is BACKUP 1
Tue 05/13/2014 
22:00:01.50 

동일한 백업 USB 드라이브 번호가 로그 파일 하단에 특정 횟수 연속으로 나타나는 경우 경고 이메일 전송을 자동화할 수 있는 방법을 아는 사람이 있습니까? 예를 들어 14개 이상(이는 사용자가 수행해야 하는 주간 드라이브 회전이 이제 일주일이 지났음을 나타냄)입니다.

어떤 아이디어라도 대단히 감사하겠습니다!

답변1

이것은 효과가 있을 것입니다. if 조건 내에 이메일을 보내기 위한 코드를 추가하고 LOGFILE을 로그 파일 경로로 변경해야 합니다.

#!/bin/bash

LOGFILE="logtest"
COUNT=`tail -n16 $LOGFILE | grep "Volume in" | uniq -c | cut -c0-7 | tail -n1`

echo "Last tape repeated $((COUNT)) times"

if [ $COUNT -gt 3 ]; then
  echo "Sending email..."
  mutt -s"FATAL: Missing tape rotation" [email protected] < /dev/null
fi

관련 정보