728x90
서버 파일을 옮기거나 서버 이관을 할 때 중간에 일정 기간의 파일을 수동으로 옮겨야 할 때가 있다.
그래서 특정기간에 생성된 파일 목록을 추출하면 유용할 것 같아서 검색하던 중 유용한 정보가 있어서 공유해본다.
find를 이용하는 방법인데
기본적으로 특정기간의 파일을 찾으려면 -mtime이란 옵션이 있지만
이게 은근 정확하지 않을 때가 있다
아무래도 지금 일시를 기준으로 해서 그런것 같다.
그래서 -newer 옵션과 touch를 이용한 파일을 가지고 특정기간 동안의 생성된 파일을 검색 할 수 있다.
1. 검색하고 싶은 기간의 시작일자와 끝나는 일자의 파일을 생성한다.(여기서 touch 명령어 사용)
touch start.txt touch -t 201712140000 start.txt touch end.txt touch -t 201712142359 end.txt
위와 같이 명령어를 입력하면 지정된 날짜와 시간에 생성된 파일이 만들어진다.
2. 위에서 만든 파일을 이용해서 파일 검색(find 명령어 사용)
find . -newer start.txt -a ! -newer end.txt -exec cp {} /data/upload/backup/ \;
위명령어는 해당 기간의 파일을 검색해서 /data/upload/backup/ 폴더밑에 복사하라는 의미이다.
마지막의 \;가 -exec 뒤의 명령어를 실행하라는 의미 이므로 뒤에 안 붙혀 주면 작동하지 않는다.
이렇게 하면 해당 폴더에 있는 파일들만 검색해서 이관해 줄 수 있겠다.
(참조: http://zeronixo.blogspot.kr/2013/07/linux-unix-tip-find.html)
728x90
'프로그래밍 > 서버' 카테고리의 다른 글
[CRON]crontab 으로 스케줄링하기 (0) | 2018.03.21 |
---|---|
[JEUS]Thread dump (0) | 2018.02.12 |
[리눅스]파일 전송 (0) | 2017.12.14 |
[리눅스]폴더 압축/해제 방법 (0) | 2017.12.14 |
[GPIN]GPIN 적용하기_2 (2) | 2017.12.01 |