반응형
안녕하세요. 운영 업무에서 급하게 서버 로그를 확인해야할 때 오늘 날짜가 기억이 나지 않을 때....
'오늘이' 하면서 달력을 누르는 행위가 싫어서 오늘 날짜의 directory로 이동하도록 설정한 내용을 포스팅하려고 합니다.
참 간단한 설정이지만 이러한 상황이 있을 때 저의 선택을 공유합니다.
li 중간에 이미지를 삽입하려 하니 번호가 깨지네요. 읽으실 때 양해좀 부탁드립니다.
상황:
- 모놀리틱 웹 애플리케이션에서 file로 로그를 찍습니다.
- 로그는 /log/작곡가/년월일/file1.txt file2.txt 방식입니다.
- 스카우터에서 쿼리 에러와 사용자가 어떤 기능이 되지 않는다고 합니다.
- 원인을 파악하는데 오늘 날짜가 늘 기억나지 않습니다.
- 로그를 작곡가는 paganini, mendelssohn, vivaldi 입니다.
예전에 alias 설정에 대해 포스팅한 글이 있습니다. (내용 중복 주의)
2019/07/05 - [Linux] - bash alias 설정 - linux
저의 선택:
- 해당 디렉토리 위치로 이동하는 alias 설정
- error 낸 파일이 무엇인지 error파일을 찾는 스크립트를 alias 설정
먼저 shell script로 날짜를 가져오는 것을 알아야 했습니다.
예제를 위해 리눅스를 docker 실행시켜봅니다.
기본 설정:
- 윈도우 cmd 창에서 docker가 설치되어 있고
- 가상화 설정이 되어 있고
- 윈도우에서 실행이 가능한 설정이 되어 있따는 것을 가정하고 글을 작성합니다.
-
- docker run -it ubuntu:latest /bin/bash
- cmd창을 여시고 docker를 실행합니다.
- bash 내부에 진입했을 것입니다. date를 입력합니다.
- date
- date +%Y%m%d
- 주의사항: date + 띄어쓰기 시 오류가 발생합니다.
- 각각의 출력으로 현재 제가 로그를 찍는 디렉토리와 일치한 출력을 확인합니다.
- 현재 디렉토리 상황입니다. (예제의 디렉토리 생성 포함, 각 디렉토리 내부에 가서 임시 파일을 생성합니다.)
- mkdir /log; cd log; mkdir paganini/ mendelssohn/ vivaldi/
- cd paganini; mkdir 20191122/ 20191123/ 20191124/ 20191125/
- cd mendelssohn; mkdir 20191122/ 20191123/ 20191124/
- cd vivaldi; mkdir 20191122/ 20191123/ 20191124/
- alias 설정을 위해 bash에 접근합니다. (현재 유저가 없기 때문에 유저 생성 스크립트를 먼저 실행합니다.)
- adduser user #유저 명
- 1234 #비밀번호
- ※ 이제 우분투에서 실행에 필요한 명령어와 편집기 설치를 하겠습니다.
- apt-get update && apt-get -y install sudo
- # sudo는 없으니 이상해서 설치합니다...
- cd /home/user; apt-get install vim
- # vim 편집기를 설치합니다.
- vim .bashrc
- vim 편집기에서 단축키는 [좌: h], [상: j], [하:k], [우:l] 입니다.
- 93 라인에서 i를 눌러 insert를 합니다.
- 93 라인에 각 서버의 별칭을 설정합니다. (변수로 받아 처리하는 방법도 있을 수 있지만 비 객체지향적 코딩을 했습니다.)
- alias paga='cd /log/paganini/$(date "+%Y%m%d")'
- alias mendel='cd /log/mendelssohn/$(date "+%Y%m%d")'
- alias vival='cd /log/vivaldi/$(date "+%Y%m%d")'
- Esc 버튼을 누르면 편집이 종료됩니다.
- :wq #(저장하고 종료)
- source .bashrc #bashrc에 저장한 내용을 반영
- 각 실행을 입력해봅니다.
- paga
- mendel
- vival
- apt-get update && apt-get -y install sudo
아마 No Search Directory라는 문구가 확인될텐데요, 오늘 날짜의 로그로 가는 스크립트이기 때문입니다.
과거의 로그를 확인할 때는 급하지 않기 때문에 현재 에러났을 때 빨리 서버에 로그를 확인할 수 있도록 스크립트를 구현해봤습니다.
이 밖에도 tail -f 명령어로 실시간 출력도 가능하고, error 파일 내에 error 로그를 가진 파일을 출력하는 스크립트 등 더 많은 기능도 가능합니다.
감사합니다.!
반응형
'Linux' 카테고리의 다른 글
change openSSH default port on ubuntu 22.10 (0) | 2022.12.03 |
---|---|
centos 7 server 설치 후 설정 (0) | 2022.10.06 |
리눅스 서버 설치 후 해야할 작업 (for ssh) (0) | 2022.10.03 |
Ubuntu 20.04 - 한글 설정하기 (0) | 2020.05.05 |
bash alias 설정 - linux (0) | 2019.07.05 |