리눅스: 생성일 기준으로 자동 파일 정리 스크립트 (초보)
2016.02.22 22:41
얼마전에 집에 굴러다니는 고물 놋북과 이베이산 웹캠을 이용한 홈서베일런스를 재미로 설치해서 잘 사용하고 있습니다.
캠이 총 세대인데,
1번은 wol을 이용해서 원격으로 작동,
2번은 매일 특정 시간에 자동으로 켜고 꺼지도록 셋팅,
3번에는 motion detection 및 이메일 alert기능이 설정되어 있습니다.
3번이 아주 재밌긴 한데 문제는 얘가 모션디텍션 할 때마다 10k정도 되는 작은 jpg파일을 많게는 하루에 천장 넘게 찍어낸다는 겁니다. 용량이 크진 않지만 숫자가 많다보니 관리에 어려움이 좀 있어서 날짜별로 디렉토리를 생성하고 파일들을 이동시키는 작업을 자동으로 수행하는 스크립트를 작성해 보았습니다.
물론 제 실력으로 한건 아니고 구글검색해서 다 베낀거죠 ㅋ
저 스크립트를 crontab에 등록해서 매일 자동으로 실행시킬 생각입니다.
원래는 디렉토리 정리 후 생성된지 10일 이상 지난 놈들은 자동으로 삭제하는 기능까지 넣을려고 했는데 이건 정말 영진님 정도 실력이 있어야 하는거라 잘 안 되드라고요.
#! /bin/bash
for f in $HOME/Pictures/motion/*; do
d=$(date -r "$f" +%Y-%m-%d)
mkdir -p $HOME/Pictures/"$d"
mv -- "$f" "$HOME/Pictures/$d/"
done
코멘트 3
-
오타왕
02.24 00:58
-
건설노무자
02.24 11:18
애초에 오타왕님 방식을 시도안했던 이유가 빈 디렉토리들이 좀비처럼 남아있을걸 우려해서였는데 가만히 생각해보니 오타왕님 코드 실행하고 다음으로 빈디렉토리만 찾아서 삭제하는 코드를 따로 실행하면 간단히 해결될 문제군요? 구글 써치해보니 대충 "find . -empty -type d -delete"로 된답니다. 집에가서 해봐야겠군요 ~
-
왕초보
03.03 02:55
어차피 find를 실행하면 전체 디렉토리를 한번 훑어보기때문에 제 생각엔 미리 확인하는 스텝은 필요없고 그냥 찾아지우라고 하면 될듯 합니다. 미리 확인하고 지우는게 그냥 지우는 것보다 더 오래 걸리고, 지울게 없을때 지울게 없는지 확인하는 시간이 그냥 지우는 시간과 거의 같을 겁니다. 아마 ms 정도 차이. 따라서 그냥 지우는거 강추입니다.
문제는 저렇게 많은 파일들이 생성되고 지워지고 하면 디스크가 너덜너덜해진다는 건데.. 뾰족한 방법이 없네요.
번호 | 제목 | 작성자 | 작성일 | 조회 |
---|---|---|---|---|
181 | 리눅스: 가상화폐 가격 알아보기 | 영진 | 10.09 | 4071 |
180 | 리눅스: xfce4 화면 확대하기 | 영진 | 09.29 | 3870 |
179 | USB Type-C: 극히 조심하세요. [7] | 사드사랑 | 07.20 | 5295 |
178 | 문리더 비슷한 iOS 용 텍스트 리더 [3] | matsal | 07.18 | 6540 |
177 | USB Type-C: 도깨비 방망이 ? [14] | 사드사랑 | 03.07 | 5845 |
176 | 리눅스: 데스크탑 노티피케이션 이용하기 [2] | 영진 | 06.24 | 7124 |
175 | 리눅스: xfce4터미널 폰트조정하기 [4] | 영진 | 06.18 | 7270 |
174 | 리눅스: vim을 이북리더로 쓰기 [2] | 영진 | 06.15 | 7145 |
173 | 리눅스: 온라인 사전을 사용하자 [1] | 영진 | 06.11 | 6873 |
172 | 리눅스: 뉴스를 터미널에서 보자 [2] | 영진 | 06.10 | 6774 |
171 | 리눅스: 대기오염지수 보기 [3] | 영진 | 06.08 | 6546 |
170 | 리눅스: 간편하게 날씨예보보기 [2] | 영진 | 06.06 | 6708 |
169 | T전화 : 기본앱 대신 플레이스토어 앱으로 쓰기 그리고 두개가 뭐가 다른가. [2] | 피델리티 | 06.02 | 7118 |
168 | 리눅스: GUI 바꾸기 [민트리눅스] [2] | 영진 | 05.29 | 6893 |
167 | 리눅스: bash스크립팅 - 화일이름 일괄 바꾸기 [2] | 영진 | 05.22 | 6627 |
166 | 안드로이드 태블릿 기본적인 이해 및 테스트 방법론 (제1강) | 星夜舞人 | 05.20 | 6637 |
165 | 리눅스: 언어벤치마크 [4] | 영진 | 05.05 | 6813 |
164 | 리눅스: bash스크립팅: 간단한 통계내기 | 영진 | 03.31 | 6949 |
163 | 리눅스: vim: 설정하기 [1] | 영진 | 03.12 | 7234 |
» | 리눅스: 생성일 기준으로 자동 파일 정리 스크립트 (초보) [3] | 건설노무자 | 02.22 | 4709 |
10일 이상 지난 파일 일괄 삭제 하는 방법에는 요런 방법도 있습니다.
참고만 해주세요.
`find $HOME/Pictures -ctime +10 -delete`
실행전
$ find $HOME/Pictures -ctime +10 -ls
으로 확인해 보는 센스!