2018.04.24
서브디렉토리까지 관리 추가 -r 옵션
서브디렉토리에서 @eaDir 제거 -->참고. https://www.jobdeok.net/blog/36376
=====================================================================================================
참고
http://www.ppomppu.co.kr/zboard/view.php?id=nas&no=16909
기존 스마트폰 사진을 나스에 옮겨놓고자 하는데 사진들이 이름도 폰 기종에 따라서 중구 난방이고, 최근기종들에서야 날짜-번호 식으로 조금은 일관된 파일명으로
사진들이 저장되고 있음을 보게된다.
/volume1/photo_bak 로 공유폴더를 만들었으며 여기에 앞으로 폰으로 찍은 사진이나, 기존 보관하고있던 PC사진들을 업로드할 예정이다.
1. 업로드방법
- 폰에서 기본적인 업로드는 DS 파일 스테이션을 이용한 방법이 있으며,
DS 클라우드로 동기화로 하는 방법도 있을 것 같다.
- PC에서는 클라우드 스테이션을 설치했고, PC의 동기화 폴더에 이동해두면, 자동으로 나스로 옮겨가지게 된다.
2. 사진이동.
사진의 exif 정보 혹은, exif정보가 없을경우 사진의 수정날짜기준으로 년도\날짜별폴더명 하위에
photo_bak --> photo 폴더로 이동하는 스크립트로 돌려본다.
일단은 위 글에 제시된 형태로 다음과 같으며, SH 파일은 나스에서 접근가능한 곳에 올려둔다.
나는 스마트폰등 사진을 업로드할 장소에 같이 두었다.
#!/bin/sh
#사진 디렉토리
PHOTO_DIR=/volume2/photo
#스마트폰 사진 백업 디렉토리
#BACKUP_DIR=$PHOTO_DIR/backup
BACKUP_DIR=/volume1/photo_bak
#2018.04.24 썸네일폴더및 썸네일삭제
#서브디렉토리까지 관리되도록 하니
#Backup_dir 아래 @eaDir(숨김) 폴더의 썸네일까지 검색해버림.
#따라서 우선적으로 삭제처리
cd $BACKUP_DIR
find -type d -name '@eaDir' -print0 | xargs -0 rm -rfv
find -name 'thumbs.db' -exec rm -vf {} \;
find -name 'Thumbs.db' -exec rm -vf {} \;
#2018.04.24 exiftool, -r 옵션 추가. 서브폴더까지 검색후 이동
#모두 -r 붙임. $BACKUP_DIR 5군데 --> -r $BACKUP_DIR
date +"[%Y-%m-%d %H:%M:%S]"
#카톡 등에서 다운받은 파일은 DateTimeOrignal이 없기 때문에을 파일 수정 날짜로 설정
exiftool -if 'not $DateTimeOriginal' '-overwrite_original' '-FileModifyDate>DateTimeOriginal' -r $BACKUP_DIR
date +"[%Y-%m-%d %H:%M:%S]"
#사진이 이동될 디렉토리들
DIRECTORIES=`exiftool -if '$datetimeoriginal' -datetimeoriginal -d %Y/%Y-%m-%d -s -S -r $BACKUP_DIR -execute -if 'not $datetimeoriginal' -filemodifydate -d %Y/%Y-%m-%d -s -S -r $BACKUP_DIR | grep -E ^[0-9]{4} | sort -u`
#사진 이동
exiftool '-directory<datetimeoriginal' -d $PHOTO_DIR/%Y/%Y-%m-%d -r $BACKUP_DIR
#사진이 이동된 디렉토리들을 인덱스에 추가
for DIRECTORY in $DIRECTORIES
do
synoindex -R $PHOTO_DIR/$DIRECTORY
done
#이동 후 백업 디렉토리도 인덱스에 추가
#synoindex -R $BACKUP_DIR
터미널로 접속해서
sh 파일이 있는 위치로 이동후 실행이 되도록 권한을 변경하자
cd /volume1/photo_bak
chmod +x photoexif.sh
주의!! 위에 스크립트가 문제는, 하위폴더까지 지원하지 않는다.
/volume1/photo_bak 폴더아래에 파일들이 존재해야한다는 점.!!!
터미널에서 실행해보자.
sh photoexif.sh
해도 되고
/volume1/photo_bak/photoexif.sh
로 해도 된다.
그럼 자동으로 사진들은
/volume1/photo/사진들의 년도폴더/년도-월-일폴더
구조로 옮겨지게 될것이다.
사진의 이름까지, 년-월-일-기존파일명.확장자 형태로 변경해볼려고 하였으나, 공부를 더 해야겠고,
윈도우에서 Regphoto 라는 툴로 이름은 변경하였다.
맨아래 는 주석처리하였다.
나는 photo 폴더아래 백업폴더를 둔것이 아니기에 굳이 재색인할 필요없을듯하여.
photo 디렉토리 하위에 photo_bak 같이 둔 경우를 생각하면, 사진이 Sorting 후 photo 로 옮겨지게 되고, 백업폴더에 사진이 남아 있지 않으므로, 포토스테이션에 재색인을 해주어야, 엑박 썸네일이 생기기 않을 듯 싶다. 그런 경우만 해주면되겠다.