폴더 아래에 /var/log/roler_t
다음 파일이 있습니다.
-rw-r--r-- 1 roler smike 37652 Jun 25 01:44 2018-06-23T02:KJU:00
-rw-r--r-- 1 roler smike 41742 Jun 25 01:45 2018-06-21T20:KJU:00
-rw-r--r-- 1 roler smike 36762 Jun 25 01:46 2018-06-22T08:KJU:00
-rw-r--r-- 1 roler smike 51764 Jun 25 01:47 PL-06-23T12:KJU:00
-rw-r--r-- 1 roler smike 42751 Jun 25 01:48 2018-06-21T16:KJU:00
-rw-r--r-- 1 roler smike 34627 Jun 25 01:49 2018-06-22T23:KJU:00
-rw-r--r-- 1 roler smike 59828 Jun 25 01:51 2018-06-23T05:KJU:00
-rw-r--r-- 1 roler smike 33561 Jun 25 01:52 2018-06-22T20:KJU:00
-rw-r--r-- 1 roler smike 59828 Jun 25 01:51 JFG:KJU:00
-rw-r--r-- 1 roler smike 33561 Jun 25 01:52 PL-22T20:KJU:00
-rw-r--r-- 1 roler smike 36643 Jun 25 01:53 2018-06-22T01:KJU:00
10일이 넘고 특정 날짜 패턴(예 2018-06-23
: .
예상되는 결과는 다음과 같습니다.
다음 파일은 다음에 보관됩니다./var/log/roler_t
-rw-r--r-- 1 roler smike 51764 Jun 25 01:47 PL-06-23T12:KJU:00
-rw-r--r-- 1 roler smike 59828 Jun 25 01:51 JFG:KJU:00
-rw-r--r-- 1 roler smike 33561 Jun 25 01:52 PL-22T20:KJU:00
답변1
이 명령을 사용하여 날짜별로 파일을 필터링할 수 있습니다 find
.
예를 들어:
find /var/log/roler_t -mtime +10
모든 파일 반환수정일> 10일.
-atime
다시 말하지만, (액세스 시간), (상태 변경 시간) 등을 사용할 수 있습니다. flags 하지만 그것이 바로 당신이 찾고 있는 것이라고 -ctime
생각합니다 .-mtime
명령어 하나로 삭제하고 싶다면(하지만 추천드립니다)언제나결과가 find
예상과 일치하는지 미리 확인하세요.)
find /var/log/roler_t -mtime +10 -exec rm {} \;
답변2
이것은 이전 질문과 유사합니다. 다음을 통해 얻을 수 있습니다.
$ find /var/log/roler_t -mtime +10 -name "XXXX-XX-XX*"
XXXX-XX-XX는 찾고 있는 날짜 스탬프입니다. 만약 너라면알다연도, 월, 일은 찾고 있는 수정 시간에 해당합니다. -name 옵션의 매개변수를 다음과 같이 변경할 수 있습니다.
$find /var/log/roler_t -mtime +10 -name "`date -d'now - 10 days' +'%y-%m-%d'*"
mtime 및 date 스탬프가 필요한 것과 일치하는지 확인하기 위해 date 명령을 사용하여 일 수를 빼야 할 수도 있지만 파일 이름 접두사는 자동으로 생성됩니다.
"2018-09-13"과 같이 날짜 스탬프와 유사한 문자열로 시작하는 파일 이름만 일치시키려면 다음 명령을 사용하십시오.
/var/log/roler_t -mtime +10 -name "[12][0-9][0-9][0-9]-[01][0-9]-[0-3][0-9]*"