빈 폴더를 찾아서 휴지통으로 넣는 스크립트
- Shell 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .script | ||
| README.md | ||
empty2bin.sh
empty2bin.sh는 시놀로지 NAS 전용으로 설계된 빈 폴더 정리 스크립트입니다.
빈 폴더를 자동으로 탐색하여 #recycle 폴더로 이동하고, 원래 폴더 구조를 유지하며 관리할 수 있습니다.
기능
- 현재 폴더 기준으로 빈 폴더 탐색 및 이동
--all플래그 사용 시/volume{n}/공유폴더전체 탐색- 폴더 구조를 유지하며
#recycle로 이동 - 시스템/숨김 폴더(
.@*,.DS_Store,@eaDir,#recycle) 제외 - 실행 로그 자동 생성 (
empty2bin_YYYYMMDD_HHMMSS.log) - 로그 보관 기간 설정 가능 (기본 3일, 변수
LOG_RETENTION_DAYS로 조정) - 실행 시 콘솔 출력 + 로그 저장
설치 및 사용 방법
- NAS 공유폴더 최상단에
.script폴더 생성 empty2bin.sh파일을.script에 저장- 실행 권한 부여:
chmod +x empty2bin.sh
- 스크립트 실행
- 현재 폴더 기준 실행
cd /volume2/music/.script
./empty2bin.sh
- 모든 공유폴더 순회
cd /volume2/music/.script
./empty2bin.sh --all
설정
스크립트 최상단에서 다음 변수를 조정
LOG_RETENTION_DAYS=3 # 로그 보관 기간 (일)
TARGET_NAME="#recycle" # 빈 폴더 이동 대상 폴더명
Cron 등록 예시
매일 새벽 3시에 자동 실행
0 3 * * * root cd /volume2/music/.script && ./empty2bin.sh
또는 제어판 - 작업 스케줄러 - 생성 - 예약된 작업 - 사용자 정의 스크립트 에서 설정
주의사항
- 시스템 폴더나 중요한 데이터가 있는 공유폴더 내부에서 실행 시 반드시 제외 대상 확인
- 이동된 폴더는 #recycle 아래로 구조가 유지되어 저장됩니다.
- core dump 파일이나 임시 파일은 자동으로 제외됩니다.