최신파일목록조회 (1)

유닉스 환경에서 자동백업 쉘 스크립트를 만들다가 얻은 지식을 공유합니다.

 

백업파일을 자동으로 생성하도록 스케쥴링을 걸어놓은 상태에서 가장 최신 백업파일을 골라서 다른 원격서버로 ftp를 이용해서 전송하려고 했습니다. 이때 가장 최신 파일명을 알아야 FTP를 이용해서 전송을 하겠죠?

 

그래서 최신파일명만 얻어낼 수 있는 명령어를 한번 만들어보도록 하겠습니다.

 

우선 1차로 만들어본 것은 아래와 같습니다.

 

# ls -lrt *.gz|tail -1|cut -d ' ' -f 8

 

하지만 위 처럼 할 경우 만약 스페이스가 두개 이상이 있는 경우 파일명이 아닌 파일생성 시간 값을 얻어오게되는 엉뚱한 결과가 나올 때가 있습니다. 그래서...

 

# ls -lrt *.gz|tail -1|tr -s ' '|cut -d ' ' -f 8

 

이렇게 tr 명령어를 중간에 끼워넣었습니다.

 

이 명령어와 동일한 결과를 얻을 수 있는게 하나 더 있는데 그건 아래와 같습니다.

 

# ls -lrt *.gz|tail -1|awk '{print $8}`

 

이렇게하면 좀 더 짧고 간단하게 파일명을 얻어올 수 있습니다.