OSX 컨텐츠 백업을위한 스크립트 반복 파일 복사 조작 자동 이름이 지정된 폴더 일 필요는 없습니다. 로컬

대본:

  1. 카메라를 사용하여 CF 카드에 내용을 기록하십시오.
  2. CF 카드의 내용을 명명 된 폴더 (예 : 20120311-D01)의 로컬 HD로 복사하십시오. 사용하려는 이름을 업데이트하기 위해 스크립트를 변경해도 상관 없습니다. 자동 이름이 지정된 폴더 일 필요는 없습니다.
  3. 로컬 HD 폴더의 내용을 USB HD (두 번째 사본)로 복사합니다.
  4. CF 카드를 제거하십시오.

여행 키트를 이전에 사용한 Windows 시스템이 아닌 MacBook Air로 업데이트했습니다. 이전 설정에서는 2 단계와 3 단계에 robocopy 스크립트를 사용했습니다. 추가 이점은 3 단계가 미러 작업 (동기화 / 업데이트)으로 설정 되었기 때문에 사진 또는 비디오 사후 처리를 수행 할 시간이 있으면 다시 실행할 수 있다는 것입니다. 변경된 파일 만 동기화합니다.

저는 OSX를 처음 사용하고 있으며 “ditto”또는 “rsync”를 사용하여 열악한 연구 기술을 사용하여 “carbon copy cloner”및 “superduper”를 살펴 보라고했습니다.

간단히 말해서 CF 카드의 내용을 Macbook Air에 복사 한 다음 두 번째 사본을 보안을 위해 외부 USB 드라이브에 복사하는 간단한 방법을 원합니다.



답변

나는 일반적으로 rsync를 사용하는 스크립트에서 rsync -av / home / source / folder / here / Volumes / Disk1 / destination / folder / here를 수행하고 스케줄링을 위해 Lingon을 사용합니다. Crontab은 실제로 저에게 효과가 없었지만 Lingon은 항상 작동합니다. 2.2의 무료 GPL 다운로드를 발견했으며 완벽하게 작동하지만 Mac App Store에서 3 달러에 직접 버전 3을 구입할 수도 있습니다. 모든 네트워크 드라이브, 연결된 USB / Firewire 드라이브는 / Volumes 디렉토리에 자체 폴더로 있습니다. 이것이 도움이되기를 바랍니다!


답변

가장 먼저 시도해야 할 것은 Hazel 입니다. 이와 같은 쉘 스크립트를 수정 해 볼 수도 있습니다.

#!/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>


답변