1

Хорошо. Итак, у меня есть несколько исполняемых файлов .sh, которые создают резервную копию каталога. В этом случае, Каталог развития. У меня есть два компьютера. Mac (основной компьютер и рабочий стол Windows 7). Поскольку мой Mac имеет только 500 ГБ памяти, я хочу сделать резервную копию данных на другом компьютере. Я делаю это без проводов.

Для этого у меня есть сценарий оболочки, который проверяет, подключен ли я к main-pc/Users/Public/. Я знаю, что местоположение не является безопасным, и я изменю местоположение через несколько дней, но сейчас я просто хочу, чтобы оно работало.

В целом, скрипт работает нормально, он гарантирует, что местоположение существует, если я не подключен, я настроил его для подключения компьютера. Он также копирует все правильно.

ЗА ИСКЛЮЧЕНИЕМ, если Интернет внезапно теряет соединения или мое соединение с другим компьютером прерывается (что происходит время от времени). Когда это происходит, местоположение внезапно не существует, и он продолжает запускать скрипт, но ничего не делает и просто делает что-то вроде

x -> y Местоположение не существует ... Бла бла бла.

У меня вопрос, как я могу убедиться, что если я потеряю соединение, он просто приостановит резервное копирование и будет ждать, пока место не подключится? Это вообще возможно? Я не могу просто воссоздать местоположение, так как я не храню это локально.

Благодарю. (И я понимаю, что было бы проще просто получить внешний диск, но что в этом хорошего?)

Мой сценарий довольно длинный, но здесь есть раздел, касающийся резервного копирования.

rm -r -v /Volumes/Users/Public/InfiniteBackups/Development
cd /Volumes/Users/Public/InfiniteBackups
mkdir Development
cp -v -f -rip ~/Development/ /Volumes/Users/Public/InfiniteBackups/Development
echo "Files have finished transferring"
say "Files have finished transferring"
exit 0

Это не самый красивый сценарий, но он работает. Это на OS X 10.8.

1 ответ1

1

Я бы использовал rsync и проверил значение выхода. Продолжайте повторять попытку, пока он не завершится успешно.

Rsync будет использовать хеши для проверки и отправки минимально возможного объема данных, и он действительно устойчив к сетевым подключениям.

http://en.wikipedia.org/wiki/Rsync

http://rsync.samba.org/

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