[Linux] 서버 유지관리 팁 정리
업무를 보면서 중간 중간 습득한 리눅스 시스템 점검 팁입니다.
이미 알고 있는 명령어도 있기도 하지만 좀 더 효율적으로 모니터링 할 수 있는 옵션이 많으니 참고할만 합니다.
별도의 자세한 설명은 생략하겠습니다. -0-
iptables
– backup : # iptables-save > 20130626_iptables_backup
– restore : # iptables-restore > 20130626_iptables_backup
– # iptables -nL : 현재 설정된 방화벽 정보 표시
– # iptables -I INPUT -s 111.111.111.111 -p tcp –dport 22 -j ACCEPT
> 설명 111.111.111.111 IP에서 22번 tcp 포트를 ACEEPT 설정
부하체크
– top : 프로세스 사용량 순위, 일반적으로 많이 쓰지만 사용 자체에 부하가 생김
– ps : 프로세스 리스트 출력
> 실행 : # ps auxww
– pstree : 프로세스 트리 형식 출력
> 실행 : # pstree -a
보안도구
– lsof : 실행되고 있는 프로세스 추적, 프로세스에 물려있는 파일을 보여줌
> 실행 : # lsof -c httpd
> 설치 : # yum install lsof
– dstat : 시스템 사용량 출력, 중지할 때까지 보여줌
> 실행 : # dstat -c -d -n -p -s -m
> 옵션 : -c(cpu), -d(disk), -n(network), -p(process), -s(swap), -m(memory)
> 설명 : dstat 명령만 치면 메모리 정보가 나오지 않기 때문에 위 옵션으로 실행
> 설치 : # yum install dstat
– vmstat : 시스템 사용량 출력, 출력 시간 간격과 최대 출력 수를 설정 가능
> 실행 : # vmstat 1 10
> 설명 : vmstat 정보를 1초 간격으로 10개 출력
– w : 부하량 및 접속자, 시스템 구동시간 출력
– fuser : 파일, 폴더를 사용하고 있는 프로세스 출력
> 실행 : # fuser -u /var/log/messages
– /proc/cpuinfo : CPU 정보 출력
> 실행 : # cat /proc/cpuinfo
– free : 메모리 사용량 표시
– 캐시메모리 회수
# echo 1 > /proc/sys/vm/drop_caches
# echo 2 > /proc/sys/vm/drop_caches
# echo 3 > /proc/sys/vm/drop_caches
MySQL
– # mysqladmin processlist : 실행중인 쿼리 출력
– # mysqladmin kill $PID : PID 강제 종료
– # mysql -e “optimize table $TABLE” : table 최적화
– # mysql -e “SHOW FULL PROCESSLIST” : 실행중인 쿼리문의 전체줄 표시
– # mysqlcheck -p –all-databases –auto-repair : 테이블 체크, 복구
– # mysql_safe –skip-grant-tables : root 암호 분실시 권한 없이 mysql 접속
Apache
– # httpd -S : 아파치 설정 확인
– # ab -n 1000 -c 200 ‘http://sample.com’ : 웹사이트 성능 테스트, -n 접속시도 횟수, -c 동접자
– # wget : web response 다운로더
– # lynx –dump ‘http://sample.com’ : text web browser
Network
– # ngrep -tW byline pot 3306 and dst 127.0.0.1 -i eth0 : 네트워크 패킷 grep
> 설명 : eth0 번 랜카드의 127.0.0.1:3306 포트로 들어오는 패킷
– # tcpdump : 네트워크 패킷 캡쳐