Лично я бы использовал RSync, так как я большой поклонник. Я предполагаю, что ваш NAS, вероятно, уже содержит сервер SSH, так что вы должны просто иметь возможность работать. Вы не указали, какую операционную систему вы используете (предполагается, что Windows из-за файловой системы NTFS, но не 100%), но она должна работать на всех основных (Windows (Cygwin), Mac, Linux, BSD)
rsync -Prtu /hdd /music backupUser @ NASHostnameOrIP:/raid /array /music
rsync -Prtu backupUser @ NASHostnameOrIP:/raid /array /music /hdd /music
Вам придется запустить RSync дважды, один раз для обновления вашего NAS и один раз для обновления вашего жесткого диска.
Флаги означают:
-P = --partial --progress
--partial = продолжить ранее прерванные передачи, в отличие от перезапуска
--progress = вывод печати в командную строку
-t, --times = скопировать метаданные времени в файловую систему (чтобы система могла определить, какой файл "более новый" в вашей двусторонней синхронизации)
--recursive = Синхронизировать все файлы, включая файлы в подкаталогах.
--update = Не заменять / копировать файлы, которые являются более новыми в месте назначения
Комбинация использования --times
и --update
для двух передач, идущих в противоположных направлениях, означает, что конечным результатом будет то, что и источник, и пункт назначения приведут к одному и тому же набору файлов, то есть к файлам с новейшими файлами.
Если вы хотите использовать автоматическую передачу, лучшим решением для этого будет использование закрытых ключей для вашего SSH-соединения с NAS и системы планирования, встроенной в вашу операционную систему.
Windows:- События WMI PowerShell
Mac OSX:- Launchd's com.apple.device-attach
Linux:- UDev
Так далее...