Jmnote bot (토론 | 기여) 잔글 (봇: 자동으로 텍스트 교체 (-source +syntaxhighlight)) |
|||
(사용자 2명의 중간 판 15개는 보이지 않습니다) | |||
2번째 줄: | 2번째 줄: | ||
;리눅스 날짜 기준으로 파일 삭제 | ;리눅스 날짜 기준으로 파일 삭제 | ||
==방법 1: | ==방법 1: 며칠 전== | ||
{{참고|리눅스 n일전 파일 삭제}} | |||
< | * find 명령어에 <code>-mtime +일수</code> 옵션을 주면 되는데... 생각한 일수보다 1 적게 주어야 함 | ||
find 폴더 -name 파일명 -mtime + | * 예를 들어 3일 초과한 파일을 삭제하려면 <code>-mtime +2</code> | ||
find 폴더 -name 파일명 -mtime + | <syntaxhighlight lang='bash'> | ||
</ | find 폴더 -name 파일명 -mtime +일수 -delete | ||
</syntaxhighlight> | |||
< | <syntaxhighlight lang='bash'> | ||
find /backup -name | find 폴더 -name 파일명 -mtime +일수 -exec rm -f {} \; | ||
find /backup -name '*. | </syntaxhighlight> | ||
</ | <syntaxhighlight lang='bash'> | ||
find 폴더 -name 파일명 -mtime +일수 | xargs rm -f | |||
</syntaxhighlight> | |||
===실행예시=== | |||
* 매일 04시 백업파일을 보관하는 폴더 /backup/ 에서 3일이 초과한 파일들을 삭제해보자.<ref>현재시각은 2016-04-30 20:26</ref> | |||
<syntaxhighlight lang='console'> | |||
root@zetadb:~# find /backup/ -name '*.tgz' | sort | |||
/backup/2016-04-24_0400.zetadb.file.tgz | |||
/backup/2016-04-25_0400.zetadb.file.tgz | |||
/backup/2016-04-26_0400.zetadb.file.tgz | |||
/backup/2016-04-27_0400.zetadb.file.tgz | |||
/backup/2016-04-28_0400.zetadb.file.tgz | |||
/backup/2016-04-29_0400.zetadb.file.tgz | |||
/backup/2016-04-30_0400.zetadb.file.tgz | |||
</syntaxhighlight> | |||
:→ 7개 파일( 24~30일 )이 있음 | |||
:→ 이중 3일치(28, 29, 30일분)는 그대로 두고 나머지를 삭제하고자 한다. | |||
<syntaxhighlight lang='console'> | |||
root@zetadb:~# find /backup/ -name '*.tgz' -mtime +2 | |||
/backup/2016-04-25_0400.zetadb.file.tgz | |||
/backup/2016-04-27_0400.zetadb.file.tgz | |||
/backup/2016-04-26_0400.zetadb.file.tgz | |||
/backup/2016-04-24_0400.zetadb.file.tgz | |||
</syntaxhighlight> | |||
:→ 삭제대상은 4개 파일( 24~27일 ) | |||
<syntaxhighlight lang='console'> | |||
root@zetadb:~# find /backup/ -name '*.tgz' -mtime +2 -delete | |||
root@zetadb:~# find /backup/ -name '*.tgz' | |||
/backup/2016-04-28_0400.zetadb.file.tgz | |||
/backup/2016-04-29_0400.zetadb.file.tgz | |||
/backup/2016-04-30_0400.zetadb.file.tgz | |||
</syntaxhighlight> | |||
==방법 2: 특정월== | ==방법 2: 특정월== | ||
*2011년 8월 기준 예시 | *2011년 8월 기준 예시 | ||
{{소스헤더|대상 파일들 확인}} | |||
< | <syntaxhighlight lang='bash'> | ||
ll --time-style full-iso | awk '{print $6" "$9}' | grep 2011-08 | ll --time-style full-iso | awk '{print $6" "$9}' | grep 2011-08 | ||
</ | </syntaxhighlight> | ||
{{소스헤더|대상 파일들 삭제}} | |||
< | <syntaxhighlight lang='bash'> | ||
ll --time-style full-iso | awk '{print $6" "$9}' | grep 2011-08 | awk '{print $2}' | xargs rm -f | ll --time-style full-iso | awk '{print $6" "$9}' | grep 2011-08 | awk '{print $2}' | xargs rm -f | ||
</ | </syntaxhighlight> | ||
==같이 보기== | ==같이 보기== | ||
31번째 줄: | 63번째 줄: | ||
*[[db_backup.sh 2주 보관]] | *[[db_backup.sh 2주 보관]] | ||
*[[ls time-style]] | *[[ls time-style]] | ||
*[[리눅스 find]] | |||
==주석== | |||
[[분류:리눅스]] | [[분류:리눅스]] | ||
[[분류:bash]] | [[분류:bash]] |
2020년 11월 2일 (월) 02:40 기준 최신판
- 리눅스 파일 생성일 기준으로 삭제
- 리눅스 날짜 기준으로 파일 삭제
1 방법 1: 며칠 전[ | ]

- find 명령어에
-mtime +일수
옵션을 주면 되는데... 생각한 일수보다 1 적게 주어야 함 - 예를 들어 3일 초과한 파일을 삭제하려면
-mtime +2
Bash
Copy
find 폴더 -name 파일명 -mtime +일수 -delete
Bash
Copy
find 폴더 -name 파일명 -mtime +일수 -exec rm -f {} \;
Bash
Copy
find 폴더 -name 파일명 -mtime +일수 | xargs rm -f
1.1 실행예시[ | ]
- 매일 04시 백업파일을 보관하는 폴더 /backup/ 에서 3일이 초과한 파일들을 삭제해보자.[1]
Console
Copy
root@zetadb:~# find /backup/ -name '*.tgz' | sort
/backup/2016-04-24_0400.zetadb.file.tgz
/backup/2016-04-25_0400.zetadb.file.tgz
/backup/2016-04-26_0400.zetadb.file.tgz
/backup/2016-04-27_0400.zetadb.file.tgz
/backup/2016-04-28_0400.zetadb.file.tgz
/backup/2016-04-29_0400.zetadb.file.tgz
/backup/2016-04-30_0400.zetadb.file.tgz
- → 7개 파일( 24~30일 )이 있음
- → 이중 3일치(28, 29, 30일분)는 그대로 두고 나머지를 삭제하고자 한다.
Console
Copy
root@zetadb:~# find /backup/ -name '*.tgz' -mtime +2
/backup/2016-04-25_0400.zetadb.file.tgz
/backup/2016-04-27_0400.zetadb.file.tgz
/backup/2016-04-26_0400.zetadb.file.tgz
/backup/2016-04-24_0400.zetadb.file.tgz
- → 삭제대상은 4개 파일( 24~27일 )
Console
Copy
root@zetadb:~# find /backup/ -name '*.tgz' -mtime +2 -delete
root@zetadb:~# find /backup/ -name '*.tgz'
/backup/2016-04-28_0400.zetadb.file.tgz
/backup/2016-04-29_0400.zetadb.file.tgz
/backup/2016-04-30_0400.zetadb.file.tgz
2 방법 2: 특정월[ | ]
- 2011년 8월 기준 예시
대상 파일들 확인
Bash
Copy
ll --time-style full-iso | awk '{print $6" "$9}' | grep 2011-08
대상 파일들 삭제
Bash
Copy
ll --time-style full-iso | awk '{print $6" "$9}' | grep 2011-08 | awk '{print $2}' | xargs rm -f
3 같이 보기[ | ]
4 주석[ | ]
- ↑ 현재시각은 2016-04-30 20:26
편집자 Jmnote 1.233.52.70 Jmnote bot
로그인하시면 댓글을 쓸 수 있습니다.
Jmnote 2016-04-30
백승현 2016-04-30
CentOS JDK 설치 ― …CentOS JDK 설치 ― ElliottCentOS vsftpd 설치 및 설정 ― …CentOS에서 apt-get 실행해보기 ― …CentOS에서 apt-get 실행해보기 ― 다미안VirtualBox 리눅스 인터넷 연결 ― …VirtualBox 리눅스 인터넷 연결 ― JmnoteVirtualBox 리눅스 인터넷 연결 ― …리눅스 CPU 사용률 확인 ― 동원잉리눅스 JDK 버전 확인 ― …리눅스 JDK 버전 확인 ― Jmnote리눅스 SSH 패스워드 없이 자동 로그인 ― …리눅스 SSH 패스워드 없이 자동 로그인 ― Jmnote리눅스 날짜 기준으로 파일 삭제하기 ― 백승현리눅스 날짜 기준으로 파일 삭제하기 ― Jmnote리눅스 디렉토리 용량 확인 du ― …리눅스 메모리 사용률 확인 ― 최재완리눅스 메모리 사용률 확인 ― Jmnote좀비 프로세스 찾기, 죽이기 ― 불량펭귄