
대본:
- 카메라를 사용하여 컨텐츠를 CF 카드에 기록합니다.
- CF 카드의 내용을 이름이 지정된 폴더(예: 20120311-D01)의 로컬 HD로 복사합니다. 사용하려는 이름을 업데이트하기 위해 스크립트를 변경해도 괜찮고 자동 이름이 지정된 폴더일 필요도 없습니다.
- 로컬 HD 폴더의 내용을 USB HD에 복사합니다(두 번째 복사본).
- CF 카드를 퍼지합니다.
이전에 사용했던 Windows 시스템이 아닌 MacBook Air로 여행용 키트를 업데이트했습니다. 이전 설정에서는 2단계와 3단계에 robocopy 스크립트를 사용했습니다. 추가 이점은 3단계가 미러 작업(동기화/업데이트)으로 설정되어 사진이나 비디오 후처리를 할 시간이 있으면 다시 실행할 수 있다는 것입니다. 변경된 파일만 동기화됩니다.
저는 OSX를 처음 접했고 "ditto" 또는 "rsync"를 사용하여 저의 열악한 연구 기술이 나타났고 "carbon copy cloner" 및 "superduper"를 조사하라는 지시를 받았습니다.
간단히 말해서, CF 카드의 내용을 Macbook Air에 복사한 다음 보안을 위해 외부 USB 드라이브에 두 번째 복사본을 복사하는 간단한 방법을 원합니다.
답변1
나는 일반적으로 rsync를 사용하여 스크립트에서 rsync -av /home/source/folder/here /Volumes/Disk1/destination/folder/here를 수행하고 예약을 위해 Lingon을 사용합니다. Crontab은 실제로 나에게 효과가 없었지만 Lingon은 항상 작동했습니다. 무료 GPL 2.2 다운로드를 찾았는데 제게는 완벽하게 작동합니다. 하지만 Mac App Store에서 직접 버전 3을 3달러에 구입할 수도 있습니다. 모든 네트워크 드라이브를 기억하세요. 연결된 USB/Firewire 드라이브는 /Volumes 디렉터리에 자체 폴더로 있습니다. 도움이 되었기를 바랍니다!
답변2
아마도 가장 먼저 시도해야 할 것은엷은 갈색. 이와 같은 쉘 스크립트를 수정해 볼 수도 있습니다.
#!/bin/bash
dir1=/Volumes/CF/Photos
[[ ! -e "$dir1" ]] && exit
dir2=~/"Pictures/Photos"
mkdir -p "$dir2"
i=1
date="$(date +%Y%m%d)"
target="$dir2/$date-D$(printf %02d $i)"
while [[ -e "$target" ]]; do
((++i))
target="$dir2/$date-D$(printf %02d $i)"
done
mkdir "$target"
mv "$dir1" "$target"
echo "Moved $dir1/ to $target/"
dir3="/Volumes/Backup/Photos"
[[ ! -e "$dir3" ]] && exit
rsync -a "$dir2" "$dir3"
echo "Copied $dir2/ to $dir3/"
CF 볼륨이 마운트될 때마다(또는 일부 파일이 수정될 때마다) 이를 실행하려면 예를 들어 이와 같은 속성 목록을 저장 ~/Library/LaunchAgents/com.superuser.411351.plist
하고 launchctl load ~/Library/LaunchAgents/com.superuser.411351.plist
.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN
http://www.apple.com/DTDs/PropertyList-1.0.dtd>
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.superuser.411351</string>
<key>Program</key>
<string>/usr/bin/copyphotos</string>
<key>WatchPaths</key>
<array>
<string>/Volumes/CF/</string>
</array>
</dict>
</plist>