SharedIT | 묻고 답하기(AMP)

AIX last 내용 로그 남기기 질문

안녕하세요.

AIX 서버에서 last 명령어로 현재 날짜로 지정해서 현재 날짜에 로그인한 이력만 로그파일에 남길 수 있게 crontab에 설정을 하려고 합니다.

예를 들어, 

현재 일자가 11월 9일이면,  last 명령 후에 date+"%m월  %d일" 로 출력해서 현재 날짜에 로그인한 이력만 로그파일에 남길 수 있게끔 하고 싶습니다.

crontab으로 자동으로 현재 일자만 로그에 남도록 설정하고 싶은데 어떻게 설정하면 될까요?

Tags : 태그가 없습니다.

5개의 답변이 있습니다.

Genghis Khan
  0 추천 | 6달 전

AIX의 경우 /etc/environment에 아래 라인을 추가하면 Timestamp를 찍는게 가능해진다. 

EXTENDED_HISTORY=ON # history에 time을 찍게함
HISTSIZE=1000 # history 명령어를 Default 128에서 1000으로 늘림

 

확인은 # fc -t , #fc -t 100 등으로 확인 가능하다

(Locale 설정이 한글일 경우 적용이 안되니 주의하자) 

Simon.Park
  0 추천 | 6달 전

다른 분들이 스크립트 잘 설명해 주셨네요~~

crontab 설정 하실 줄 알고, 위 내용 이해만 하신다면 원하시는 내용으로

log 남기는 것은 크게 어렵지 않을꺼에요~~~

조금만 공부 하시면 더 많은 일들을 할 수 있으리라 생각됩니다. ^^

앵그리파파
  0 추천 | 6달 전

먼저, crontab을 열어서 편집합니다.

  • crontab -e

그런 다음, 아래와 같이 추가합니다. 

  • 0 0 * * * last -s "yyyy-mm-dd" >> /path/to/your/logfile.log

yyyy-mm-dd 부분을 원하는 날짜로 변경, 로그파일 경로를 실제 경로로 수정, 


마지막으로 저장하고 나가면 모든 설정이 완료됩니다.


이렇게 하면 해당 날짜에 로그인한 이력은 지정된 로그 파일에 자동으로 기록될 것입니다.

topkslee
  0 추천 | 6달 전

vi last_login.sh 파일에 아래와 같이 입력해보세요.
-----------------------------------------

# 현재 날짜 정보   

date_format=$(date +"%Y-%m-%d")

*** aix의 date 형식을 어떻게 사용하냐에 따라 다르니 사용하시는 aix에서 last 명령어를 쳐보세요.

날짜가 2023-11-09 인지 아니면 Nov 09 인지에 따라 다르게 줘야 합니다.

# last 로그 정보 가져오기

last | grep "$date_format" >> "/경로/daily_login_hist_$date_format.txt"

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

위와 같이 스크립트 만드셔서 cron에 등록해서 사용하시면 될것 같습니다.


wansoo
  0 추천 | 6달 전

좀 더 구체적인 내용이 있어야 원하는 정확한 내용을 알 수 있겠지만...

날짜별 로그 파일을 만들어서 하루에 한번씩 기록을 남기고 싶은 경우라면


last > /var/last_$(date +"%m월 %d일").log

를 crontab 에 등록시켜 두면 될 것 같습니다.


하루에 여러번 기록을 남기는 경우까지 고려한다면...

last >> /var/last_$(date +"%m월 %d일").log

와 같이 crontab에 등록 시켜 두면 되겠고요.


hanmg93 | 6달 전

하나의 파일에 계속 last 로그를 남기게 하고 싶은데 어떻게 설명하면 될까요?

wansoo | 6달 전

last에 의해 출력 되는 내용이 여러줄이 되잖아요..?

날짜 구분 표시를 하고, 그 아래에 last에 의해 출력되는 여러줄을 담을 것인지..?

아니면 last에 의해 표시되는 내용중의 특정 내용만 추출해서 날짜 구분 표시해서 담을 것인지..?

아니면, last에 의해 표시되는 여러줄 각각의 앞에 날짜 구분을 표시해서 담을 것인지...?

등등에 따라 다르게 처리해야 할 것 같은데...


crontab에 last 명령을 직접 등록하는 방식 보다는 스크립트를 만들어서 등록하는 것이 좋을 걸로 보여 지고요.

날짜 구분을 라인을 출력한 후에 그 아래 쪽에 last 명령에 의해 표시되는 전체 내용을 담는 형식으로 하고 싶을 경우라면...

스크립트를

echo $(date +"%m월 %d일" >> /var/last.log

last >> /var/last.log

와 같이 간단하게 스크립트를 만들어서

crontab에 만든 스크립트를 등록 시켜 두면 될 것 같습니다.