반응형

[리눅스 쉘 스크립트]CentOS : error 확인

 

1. 용도 및 목적

로그 백업이나 과거 로그 점검시마다 확인 하기 힘들때(백업이나 삭제로 인해) 미리 걸어두고 과거 압축된 로그에 에러가 있엇는지 확인

 

2. 환경 : CentOS 6.9 64bit, /bin/bash

 

3. 쉘 스크립트

-로그 경로 생성

mkdir -p /home/test/logs

 

#vi testlogcheck.sh

----------------------------------------------

#!/bin/bash

 

######################################

#

#                   Search error

#                                                       by Ru

######################################

 

NODE=`hostname`

DATE=`date +%Y%m%d%H%M`

#체크해서 쌓는 곳(점검마다 Status 부분만 보고 전부 삭제하면됨)

LOGDIR=/home/test/logs

 

#이름이 test 프로세스 로그의 error를 체크 

STATUS=`cat /home/test/error*.log |egrep "error|ERROR|Error" | wc -l`

 

#체크한 내용의 error 갯수를 파일제목으로 생성하고 갯수가 1이상인 부분만 로그를 체크 하면된다. 다만 내용을 전부 긁어 오지는 않으니 test프로그램 원본로그 확보는 미리 체크해야한다.

LOGFILE=$LOGDIR/$NODE.testlogstatus.$STATUS.$DATE

 

#error 내용을 입력 단편적인 로그만 추출될수 있음

cat /home/test/error*.log |grep error > $LOGFILE

 

-40일 이전 로그 삭제(예약 또는 주기적인 쉘에 넣으면 됨, 안해도됨) 

find /home/test/logs -name "*testlogstatus*" -mtime +40 -exec rm {} \;

----------------------------------------------

 

-예약

crontab -e

#하루하루 주기적으로 체크, 이부분은 test 프로그램 원본로그가 하루 갱신일때 이고, 로그 파일 갱신주기에 맞춰서 예약하면 된다.

59   23 * * * /home/test/testlogcheck.sh

 

 

 

반응형
반응형

[리눅스 쉘 스크립트]CentOS : OS 확인 

 

1. 용도 및 목적

OS 버전에 맞게 동작 시키기 위함, 해당 OS 버전의 case 문 안에 추가하여 사용

 

2. 환경 : CentOS 6.9 64bit, /bin/bash

 

3. 쉘 스크립트

#vi xxxxx.sh

----------------------------------------------

#!/bin/bash

 

######################################

#

#                   Search OS 

#                                                       by Ru

######################################

 

RHELVer=`cat /etc/redhat-release |awk '{print $7}' |cut -b1`

DATE=`date +%H:%M`

 

case $RHELVer in

5)

echo "RHEL 5.X"

echo $DATE

;;

6)

echo "RHEL 6.X"

echo $DATE

;;

7)

echo "RHEL 7.X"

echo $DATE

;;

*)

echo "Untested OS"

esac

----------------------------------------------

 

 

반응형
반응형

[리눅스 쉘 스크립트]CentOS : ftp 자동 파일 업/다운로드

 

1. 용도 및 목적

특정 일시 특정 장소에 파일 업 다운로드를 위함(crontab 등록 또는 다른 관리 데몬으로 실행)

 

2. 환경 : CentOS 6.9 64bit, /bin/bash

 

3. 쉘 스크립트

#vi xxxxx.sh

----------------------------------------------

#!/bin/bash

 

######################################

#

#                   FTP Auto UP/DOWNload 

#                                                       by Ru

######################################

 

ftp -n 192.168.35.11 << EOF > /root/ftplog.txt

  user root password

#passive 모드 ON/OFF(OFF는 Active mode)

  passive

#prompt off 해야 파일 업다운로드마다 확인을 안함(default on)

  prompt

#ascii mode or binary mode 원하는 모드 주석제거

#  accii

#  binary

#client 작업 위치

  lcd /root

#server 작업 위치

  cd /root

#그냥 뭐있나 확인 ls

  ls

#test 으로 시작하는 파일 전부 다운로드(단일 파일은 get)

  mget test*

#test 으로 시작하는 로컬 파일 전부 업로드(단일 파일은 put)

  mput test*

#test 으로 시작하는 서버 파일 전부 삭제(단일 파일은 delete)

  mdelete test*

  quit

EOF

----------------------------------------------

 

 

반응형

+ Recent posts