반응형
보통의 리눅스 로그는 /var/log/ 폴더에 저장된다.
$ tar -Pczf ${HOSTNAME}_log.tar.gz /var/log/
옵션설명
- -P : 절대경로사용에 대해 경고 메시지를 무시 (tar 압축시 절대경로가 존재하면 경고메시지가 나온다.)
- -c : 아카이브 파일을 생성하라는 의미
- -z : 압축을 하라는 의미
- -f : 출력파일이름을 지정
- ${HOSTNAME} : 컴퓨터이름
리눅스 주요 로그 파일과 위치 (/etc/syslog.conf 또는 /etc/rsyslog.conf 파일에 명시되어 있다.)
위치 | 설명 |
/var/log/apache2/ | 아파치 웹서버의 접근 및 오류 기록 |
/var/log/auth.log | 사용자 로그인, 접근권한, 원격 인증에 관한 정보 |
/var/log/kern.log | 커널 로그 |
/var/log/messages | 일반적인 비치명적 시스템 정보 |
/var/log/syslog | 일반적인 시스템로그 |
시스템 정보
명령 | 정보 |
uname -a | 운영체제 버전 정보 |
cat /proc/cpuinfo | 시스템 하드웨어 및 관련 정보 |
ifconfig | 네트워크 인터페이스 정보 |
route | 라우팅 테이블 |
arp -a | ARP(Address Resolution Protocal) 테이블 |
netstat -a | 네트워크 연결 정보 |
mount | 파일 시스템 구성 |
ps -e ps -ef |
실행중인 프로세스들 |
위 내용을 토대로 시스템 정보를 출력하는 쉘 스크립트 샘플
function SepCmds()
{
LCMD=${ALINE%%|*}
REST=${ALINE#*|}
WCMD=${REST%%|*}
REST=${REST#*|}
TAG=${REST%%|*}
if [[ $OSTYPE == "MSWin" ]]
then
CMD="$WCMD"
else
CMD="$LCMD"
fi
}
function DumpInfo()
{
printf '<systeminfo host="%s" type="%s"' "$HOSTNAME" "$OSTYPE"
printf 'date="%s" time="%s">\n' "$(date ''+%F)" "$(date '+%T')"
readarray CMDS
for ALINE in "${CMDS[@]}"
do
if [[ {$ALINE:0:1} == '#' ]] ; then continue ; fi
SepCmds
if [[ ${CMD:0:3} == N/A ]]
then
continue
else
printf "<%s>\n" $TAG
$CMD
printf "</$s>\n" $TAG
fi
done
printf "</systeminfo>\n"
}
OSTYPE=$(./osdetect.sh)
HOSTNM=${HOSTNAME}
TMPFILE="${HOSTNM}.info"
Dumpinfo > $TMPFILE 2>&1
osdetect.sh
if type -t wevtutil &> /dev/null
then
OS=MSWin
elif type - ts scutil &> /dev/null
then
OS=MacOS
else
OS=Linux
fi
echo $OS
반응형
'개발 > linux' 카테고리의 다른 글
bash기초 - awk (0) | 2021.01.18 |
---|---|
bash 기초 - 파일 찾기 find (0) | 2021.01.18 |
bash 기초 - ssh를 이용한 원격 명령 실행 (0) | 2021.01.18 |
무료 접속 유닉스(리눅스) 시스템 (0) | 2021.01.18 |
bash기초 - cut, file, head (0) | 2021.01.18 |
댓글