Может быть кто-нибудь подскажет, как осуществить задуманное... Предположим, у меня есть бэкап на внешнем диске. Через какое-то время мне нужно этот бэкап обновить. Можно просто стереть старый и залить новый, но не хотелось бы тратить время на заливку того, что не поменялось. Есть ли такой инструмент, чтобы синхронизировать бэкап? Что-то такое, что бы сверяло местоположение и хеш файлов (или просто размера-даты), и исправляло только то, что изменилось со времени прошлого бэкапа... И другой вопрос вдогонку: будет ли это быстрее, чем просто перезаливка?
PS
Похоже, что "rsync -a --delete" хороший кандидат. Вот только как сделать, чтобы hash файлов сверялся с оригиналом после копирования? Опция -c позволяет обновлять бэкап на основе хеша вместо размера-даты, но я не могу найти опцию, которая сверяла бы хеш после бэкапа.
Бэкап-синхронизация под OSX
-
- Уже с Приветом
- Posts: 20128
- Joined: 21 Feb 2009 22:55
- Location: Лох Онтарио
-
- Уже с Приветом
- Posts: 20128
- Joined: 21 Feb 2009 22:55
- Location: Лох Онтарио
Re: Бэкап-синхронизация под OSX
Попробовал md5:
find -s ~/folder1 -type f -exec md5 -q {} \; | md5
find -s ~/folder2 -type f -exec md5 -q {} \; | md5
Работает быстро, но хеши у копии и оригинала не совпадают, хотя при проверке пофайлово (с помощью одного очень медленного приложения) все в порядке. Можно ли как-то модифицировать команду выше, чтобы получить файл с хешами для каждого файла?
find -s ~/folder1 -type f -exec md5 -q {} \; | md5
find -s ~/folder2 -type f -exec md5 -q {} \; | md5
Работает быстро, но хеши у копии и оригинала не совпадают, хотя при проверке пофайлово (с помощью одного очень медленного приложения) все в порядке. Можно ли как-то модифицировать команду выше, чтобы получить файл с хешами для каждого файла?
-
- Уже с Приветом
- Posts: 20128
- Joined: 21 Feb 2009 22:55
- Location: Лох Онтарио
Re: Бэкап-синхронизация под OSX
UPDATE2 : Сделал два скрипта.
Первый скрипт берет папку из автоматора и выдает список всех файлов второму, а второй выдает hash для каждого файла. Все это выходит в текстовый файл. Вроде бы все работает. Главное было исключить dot-файлы, так как они мне портили всю картину. Без них заработало и сравнение хеша и для папок в целом:
find -s ~/folder1 -type f \( ! -iname ".*" \) -exec md5 -q {} \; | md5
Code: Select all
while read folder; do
find -s "$folder" -type f \( ! -iname ".*" \)
done
Code: Select all
for read file; do
md5 -q "$file"
done
find -s ~/folder1 -type f \( ! -iname ".*" \) -exec md5 -q {} \; | md5
-
- Уже с Приветом
- Posts: 1405
- Joined: 27 Dec 2010 12:32
- Location: Big D
Re: Бэкап-синхронизация под OSX
Time Machine на OS X, не?
I wasn't born in Texas, but I got here as fast as I could.
-
- Уже с Приветом
- Posts: 20128
- Joined: 21 Feb 2009 22:55
- Location: Лох Онтарио
Re: Бэкап-синхронизация под OSX
Time Machine плохо годится для селективного бэкапа. На внешний диск идет только часть папок. Выставлять исключения для TM слишком хлопотно (если это вообще возможно)
-
- Уже с Приветом
- Posts: 946
- Joined: 24 Sep 2013 05:58
- Location: US\GA
Re: Бэкап-синхронизация под OSX
Code: Select all
rsync -av --delete ${SRC} ${DST}
-
- Уже с Приветом
- Posts: 20128
- Joined: 21 Feb 2009 22:55
- Location: Лох Онтарио
Re: Бэкап-синхронизация под OSX
Спасибо.