
Я не уверен, дубликат ли это, но мне очень сложно найти готовое решение. У меня есть настольный компьютер с жестким диском на 1 ТБ и 3 ноутбука с 256 ГБ на каждом. Я скачиваю много музыки на все компьютеры в разное время, поэтому иногда на одном компьютере есть альбомы, а на другом нет и т. д. Я мог бы хранить всю свою музыку (около 500 ГБ) на настольном компьютере, но она не поместится ни на один из ноутбуков, и я в любом случае не хочу, чтобы на них была даже часть ее. Мне нужна папка на внешнем жестком диске, которую можно периодически проверять на всех компьютерах, чтобы делать резервные копии всего, чего не хватает. Поэтому я не заинтересован в синхронизации папки с каким-либо из ноутбуков. Сделают ли это SuperDuper, Carbon Copy или Time Machine? Кто-нибудь использует Git или любую vcs для чего-то подобного?
У меня есть зачатки простой программы, которая в основном просто делает это, diff -r x y | grep "pattern to match" | cp -r folder a location b
но сравнение этой папки с музыкой с той, что на внешнем диске, происходит крайне медленно. Кроме того, я подумал, что может быть лучшее решение.
решение1
Я всегда использую rsync
для этого. Предположим, что вы монтируете внешний жесткий диск в /mnt/mydisk
на всех своих ноутбуках, а все резервные копии музыки находятся в /mnt/mydisk/music
каталоге. И если все загруженные музыкальные файлы с вашего ноутбука находятся в ~/Downloads/mymusic
, то следующая команда сделает это
rsync -az ~/Downloads/mymusic/ /mnt/mydisk/music
Эта команда синхронизирует те, которые недоступны в /mnt/mydisk/music
и доступны в ~/Downloads/mymusic/
Вы можете проверить man rsync
для получения более подробной информации.