오늘은 원격 리눅스 서버에 접속하기를 공부해 보았습니다.
access_count.sh
리눅스 명령어를 이용하여 access.log파일에서 130.237.218.86에 접속한 기록을 필터링해 보기
1. 교육생에게 제공되는 'student.pem' 파일을 웹에서 리눅스로 다운로드합니다.
2. 다운로드한 파일에 권한을 부여해 줍니다.
$ chmod 400 student.pem
3. 이제 원격 서버에 접속해 줍니다. 이때 원격 서버 주소는 3.34.229.232, 아이디는 깃허브 아이디를 사용했습니다.
$ ssh -i "student.pem" ostarry0728@3.34.229.232
원격 서버에 접속을 성공하면 나타나는 화면입니다.
4. 완료되었다면 'access.log' 파일을 웹에서 리눅스로 다운로드합니다.
$ wget https://gist.githubusercontent.com/yrkimyy/82a0d437caceabda591d5ac172feb5fa/raw/fd00a5211cd9a1d2aa99114d997d16ef2ad0b2af/access.log
5. 그다음 access_count.sh를 생성해 주겠습니다.
$ nano access_count.sh
6. 파일을 생성한 후 파일 내에 명령어를 작성해주겠습니다.
#! /bin/bash
echo `cat -n access.log | grep -c '130.237.218.86'`
이 명령어 내용은 명령어 cat으로'access.log'의 -n(각 줄의 번호도 함께 출력) 하는 내용을 가져오는 것과 동시에 '130.237.218.86' IP의 -c(패턴과 일치하는 줄 수를 출력)을 grep 해오겠다는 내용입니다.
7. 작성 후 Ctrl x (nano 종료 커맨드)를 시행한 뒤 Y(Yes)를 눌러 저장해 주고 Enter를 눌러주면 이전 프롬프트 화면으로 돌아오게 됩니다. 그다음 'access_count.sh' 파일에 '읽기 쓰기 권한'을 부여해 줍니다.
$ chmod 700 access_count.sh
8. 완료되었다면 다음 명령어를 실행해 봅니다.
$ ./access_count.sh
결과 값은 357이 나옵니다.
response_200_count.sh
access.log 에서 마지막 100줄의 로그 중, 상태 코드가 200인 로그를 추출하여 새로운 파일에 저장해보기
1. 해보고자 하는 주제를 명령어로 풀어 써봅니다. 동시에 'response_200.log' 파일을 생성합니다.
$ tail -n 100 access.log | grep HTTP/1.1 | grep 200 > response_200.log
2. nano response_200.log로 편집기를 실행하여 명령어를 입력 해줍니다.
#! /bin/bash
< response.log wc -l
3. 입력 후 내용을 저장 후 편집기를 나와줍니다. 그리고 파일에 권한을 부여해줍니다.
$ chmod 700 response_200_count.sh
4. 완료 되었다면 다음 명령어를 실행해봅시다.
$ ./response_200_count.sh
결과 값은 93이 나옵니다.
'공부' 카테고리의 다른 글
Git - 설치 Ubuntu, 환경설정 및 SSH 등록 (0) | 2023.03.27 |
---|---|
클라이언트 - 서버 아키텍쳐 (1) (0) | 2023.03.15 |
우분투 리눅스 공부 - 기본적인 명령어 (2) (0) | 2023.03.13 |
우분투 리눅스 공부 - 기본적인 명령어 (1) (0) | 2023.03.13 |
2023.03.10 표준스트림과 파이프라인, 리다이렉션 (0) | 2023.03.10 |
댓글