본문으로 바로가기

포토스테이션 사진 photo 자동 관리

category Server/Xpenology 2018. 4. 23. 16:28
반응형


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 파일은 나스에서 접근가능한 곳에 올려둔다.

나는 스마트폰등 사진을 업로드할 장소에 같이 두었다.


photoexif.sh



photoexif_origin.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 로 옮겨지게 되고, 백업폴더에 사진이 남아 있지 않으므로, 포토스테이션에 재색인을 해주어야, 엑박 썸네일이 생기기 않을 듯 싶다. 그런 경우만 해주면되겠다.





반응형