트립 와이어 위반 여부를 확인하기 위해 매시간 루트별로 cron 작업을 실행했습니다. 위반 여부와 상관없이 매시간 이메일을 발송합니다. 위반이 있으면 보고서가 포함됩니다. 위반이 없으면 제목이있는 빈 이메일을 보냅니다. 스크립트 라인을 넣어 전에 마지막으로 크론의 경로를 설정Bash 스크립트가 없어야하는 경우에도 이메일을 보냅니다.
#!/bin/bash
# Save report
tripwire --check > /tmp/twreport
# Count violations
v=`grep -c 'Total violations found: 0' /tmp/twreport`
# Send report
if [ "$v" -eq 0 ]; then
mail -s "[tripwire] Report for `uname -n`" [email protected] < /tmp/twreport
fi
공백 이메일을 보내는 경우 '/ tmp/twreport'가 비어있는 것 같습니다. 확실히'v'가 0으로 설정됩니다. 실제로 그 파일에 기록 된 것을 디버깅 할 것을 제안하십시오. – paxdiablo
파일이 기록됩니다 - 위반 횟수가 0 회 또는 위반 횟수 x 회를 표시합니다. v는 0 또는 1입니다. 수동으로 실행하면 잘 작동하지만 cron에서만 작동하지 않습니다. – MarkH
터미널과 cron 작업 사이에는 환경에 큰 차이가 있으므로 여기서 문제가 될 수 있습니다. 예를 들어보십시오 http://stackoverflow.com/questions/1972690/cannot-get-php-cron-script-to-run/1972763#1972763 – paxdiablo