내 회사 로그에서 Linux 로그를 모니터링하고 로그에서 정보를 가져 와서 회사에서 수행하는 작업에 대한 파일을 처리하고 싶습니다.오늘 Linux 로그 파일을 구문 분석 할 수 없음
#!/bin/bash
#if [[ -z "$1" ]]; then
# echo "Error: usage: autoParseMD5EncZip [device_id]"
#else
yearCalc=`perl -e 'use Date::Calc qw(Today Add_Delta_Days); my ($y)=Add_Delta_Days(Today(), -1); print "$y"'`
monthCalc=`perl -e 'use Date::Calc qw(Today Add_Delta_Days); my ($y,$m)=Add_Delta_Days(Today(), -1); if ($m<=9) {$m = "0".$m;} print "$m"'`
prefixCalc=`perl -e 'use Date::Calc qw(Today Add_Delta_Days); my ($y, $m, $d)=Add_Delta_Days(Today(), -1); if ($m<=9) {$m = "0".$m;} if ($d<=9) {$d = "0".$d;} print "$y$m$d"'`
secaudit=`perl -e 'use Date::Calc qw(Today Add_Delta_Days); my ($y, $m, $d)=Add_Delta_Days(Today(), -1); if ($m<=9) {$m = "0".$m;} if ($d<=9) {$d = "0".$d;} print "$d-$m-$y"'`
pathSource="/syslog"
pathDest="/syslog3/secaudit"
#echo "ls -als /syslog/$yearCalc/$monthCalc/$prefixCalc-$1.gz"i
nowTgl=$(date +%d/%m/%Y\ %H:%M:%S)
echo "[$nowTgl] Parsing gw1 ..."
logParser.app $pathSource/$yearCalc/$monthCalc/$prefixCalc-gw1 $pathDest/IDMOB-$secaudit.csv
nowTgl=$(date +%d/%m/%Y\ %H:%M:%S)
echo "[$nowTgl] Parsing gw2 ..."
logParser.app $pathSource/$yearCalc/$monthCalc/$prefixCalc-gw2 $pathDest/IDMOB-$secaudit.csv
nowTgl=$(date +%d/%m/%Y\ %H:%M:%S)
echo "[$nowTgl] Encrypt gpg"
gpg --batch -e -r IndoMobile --keyring /root/.gnupg/pubring.gpg -o $pathDest/IDMOB-$secaudit.csv.gpg $pathDest/IDMOB-$secaudit.csv
nowTgl=$(date +%d/%m/%Y\ %H:%M:%S)
#rm -f $pathDest/IDMOB-$secaudit.csv
nowTgl=$(date +%d/%m/%Y\ %H:%M:%S)
echo "[$nowTgl] bzip-ing ..."
bzip2 $pathDest/IDMOB-$secaudit.csv.gpg
nowTgl=$(date +%d/%m/%Y\ %H:%M:%S)
echo "[$nowTgl] md5sum-ing ..."
md5sum $pathDest/IDMOB-$secaudit.csv.gpg.bz2 > $pathDest/IDMOB-$secaudit.md5
nowTgl=$(date +%d/%m/%Y\ %H:%M:%S)
echo "[$nowTgl] gzip-ing gw1 ..."
gzip /syslog/$yearCalc/$monthCalc/$prefixCalc-gw1
nowTgl=$(date +%d/%m/%Y\ %H:%M:%S)
echo "[$nowTgl] gzip-ing gw2 ..."
gzip /syslog/$yearCalc/$monthCalc/$prefixCalc-gw2
nowTgl=$(date +%d/%m/%Y\ %H:%M:%S)
echo "[$nowTgl] FINISH"
echo " "
echo "----------------------------------"
echo " "
echo " "
#fi
오늘 로그 Linux를 구문 분석 할 예정이라면. 낮 시간에는 위의 스크립트도 사용하고 있습니다. 이 문제를 발견 할 것입니다 :
bzip2 : 입력 파일을 열 수 없습니다 /syslog3/secaudit/IDMOB-06-10-2013.csv.gpg : 해당 파일이나 디렉토리가 없습니다. [2013년 7월 10일 9시 43분 7초] md5sum이 한창 ...
md5sum이 : /syslog3/secaudit/IDMOB-06-10-2013.csv.gpg.bz2 : 해당 파일이나 디렉토리 [07/10/2013 09:43:07] gzip-ing gw1 ...
gzip :/syslog3/2013/10/20131006-gw1 : 해당 파일 또는 디렉토리 없음 [07/10/2013 09 : 43:07] gzip으로 보내고 GW2을 ...
은 gzip :/syslog3/2013 년/20,131,006분의 10-GW2 : 그런 파일이나 디렉토리가 [2013년 7월 10일 9시 43분 7초] 마무리하지
나는 문제가 perl 시간다는 것을 알고있다, 만약 내가 오늘 리눅스 로그를 구문 분석 해요 (07/10/2013). 스크립트를 실행 한 후. 나는 그 문제를 발견했다. 내 스크립트가 어제 ([today-1]/10/2013) 리눅스 파일을 파서로 파서하기 때문에. 나는 어제 로그와 그 작업을 분석하려고합니다.
내 문제는 오늘 로그 리눅스 파일을 구문 분석하기 위해 perl 시간을 변경하는 것입니다.
누구든지 도와주세요. 왜냐하면 나는 펄 프로그래밍의 기초가 없기 때문이다. 읽어 주셔서 감사합니다 ... :)
고맙습니다. 스크립트를 변경하려고합니다. –
감사합니다. ruakh. 내 문제가 해결되었습니다 :) –
@AsongSoekamti : 오신 것을 환영합니다! – ruakh