Сценарий:

  1. Записать контент с помощью камеры на CF-карту.
  2. Скопируйте содержимое CF-карты на локальный жесткий диск в указанной папке (например, 20120311-D01). Я не возражаю против изменения скрипта, чтобы обновить имя, которое я хочу использовать, не обязательно должна быть папка с автоматическим именем.
  3. Скопируйте содержимое локальной папки HD на USB HD (вторая копия).
  4. Очистить CF-карту.

Я обновил свой дорожный комплект, чтобы он стал MacBook Air, а не системой Windows, которую я использовал ранее. В предыдущей настройке я использовал сценарии robocopy для шагов 2 и 3. Дополнительным преимуществом было то, что на третьем шаге была настроена зеркальная операция (синхронизация / обновление), поэтому, если бы у меня было время на пост-обработку фотографий или видео, я мог бы выполнить ее повторно, и она синхронизировала бы только измененные файлы.

Я новичок в OSX, и мои слабые исследовательские навыки, возможно, появились с использованием "ditto" или "rsync", и мне сказали, что нужно искать "клонер копийных копий" и "superduper".

Короче говоря, я бы хотел простой способ скопировать содержимое моей CF-карты на мой Macbook Air, а затем вторую копию на внешний USB-накопитель для безопасности.

2 ответа2

0

Я обычно делаю rsync -av /home /source /folder /here /Volumes /Disk1 /destination /folder /here в моих сценариях с rsync, и для планирования я использую Lingon. Crontab действительно не работал для меня, но Lingon работает все время. Я нашел бесплатную GPL-версию 2.2, и она отлично работает для меня, но вы даже можете купить версию 3 напрямую в Mac App Store за 3 доллара. Помните, что все сетевые диски, подключенные USB /Firewire-диски находятся в каталоге /Volumes как их собственная папка. Надеюсь это поможет!

0

Первое, что вы, вероятно, должны попробовать, это Хейзел. Вы также можете попробовать изменить скрипт оболочки следующим образом.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .