2010-04-27 2 views
2

예를 들어 확인하는 cron 작업을 설정하고 싶습니다. 24 시간마다이 (가) (악성 쉘 해킹 스크립트를 확인) 아래와 같은 명령을 '발견'있는지 결과가있다합니다 :결과를 이메일로 보내는 '찾기'명령 cron/bash 스크립트를 설정 하시겠습니까?

find /home/username/public_html -type f -print0 | xargs -0 egrep '(\/tmp\/cmd(temp)?|SnIpEr_SA|(c99|r57|php)shell|milw0rm)' 

그리고 어떤 결과가있는 경우, 나는이에 이메일을 받게을 [email protected]과 같은 지정된 전자 메일 주소.

아마도 bash 스크립트를 호출하는 cron 작업이 하루에 한 번 실행되며 find 명령은 bash 스크립트를 통해 실행되며 bash 스크립트는 find 명령이 반환하는 문자 수를 확인하고 전자 메일을 보냅니다. 0보다 크면 그게 최선의 방법인지 확실하지 않지만 생각할 수있는 유일한 방법입니다.

필자는 bash 프로그래밍을 구현하기에 충분한 지식이 없지만 (또는 이와 유사한 대안),이 모양의 구현은 어떻습니까?

+0

+1 재미있는 질문 – sixtyfootersdude

답변

5

cron의 기본 동작은 스크립트의 출력이있는 경우 전자 메일을 보내는 것입니다. crontab (crontab -e)을 편집하고 맨 위에 MAILTO 변수를 추가하십시오.

[email protected] 
30 1 * * * find /home/username/public_html -type f -print0 | xargs -0 egrep '(\/tmp\/cmd(temp)?|SnIpEr_SA|(c99|r57|php)shell|milw0rm)' 
+0

신이 감사합니다.이 답변을 주셨습니다. && 또는 || 대답. – kSiR

+0

고마워요 :) 전체 탭이 아닌 개별 cron 라인에 MAILTO를 적용 할 수있는 방법이 있습니까? – Tristan

+0

http://serverfault.com/questions/33504/override-mailto-for-a-single-crontab-entry를 참조하십시오. –

관련 문제