Мы используем rsync
в macOS для переноса домашнего каталога определенного пользователя с СТАРЫЙ (текущий) на НОВЫЙ компьютер.
Пользователь владеет СТАРЫЙ компьютер ... у нас есть НОВЫЙ компьютер.
Оба компьютера связаны с Active Directory, и наш скрипт сохраняет UID / GID, вилки ресурсов,и т. д.
Apple связывает rsync
2.6.9, нам нужно использовать -E
для «копирования расширенных атрибутов», однако неудачный откат является полным, а дельта не работает ... каждый прогон rsync
обрабатывается как полный прогон.
rsync
3 исправляет это, может «копировать расширенные атрибуты» без прерывания последующих прогонов ... однако из-за изменений с GNU v2 на GNU v3 , Apple и LinusT перевернули GNU v3 птицу (вполне достойно) .
Мы рассказали Apple о том, как обновить rsync
до 3.0.6, не нарушая ни одного из рабочих процессов наших разработчиков, и они предложили, чтобы мы выбрали папку и вызывали, используя определенныеic path ... поэтому мы выбрали /Library/COMPANY/Applications/rsync
в качестве пути установки, где /Library/COMPANY/Applications/rsync/bin/rsync
становится путем к бинарному файлу.
Техник подключится к OLD компьютеру пользователя и запустит /Library/COMPANY/Scripts/rsyncStuff.sh
, который запрашивает критерии и вкратце запускает команду, подобную этой:
/usr/bin/rsync --log-file=/Library/Logs/rsyncTransfer_${dateStamp}.log --exclude '<stuff>' --archive --verbose --delete --extended-attributes --progress --recursive --human-readable -e ssh /Users/jdoe adminUser@${NEWcomputerIpAddress}:/Users/Shared/
Мы изучили различия между rsync
2.6.9 и 3.0.6, и наше лучшее предположение было бы, что эта команда будетсделать по существу то же самое:
/Library/COMPANY/Applications/rsync/bin/rsync --log-file=/Library/Logs/rsyncTransfer_${dateStamp}.log --exclude '<stuff>' --archive --verbose --delete --xattrs --acls --progress --recursive --human-readable -e ssh /Users/jdoe adminName@${NEWcomputerIpAddress}:/Users/Shared/
Уведомление rsync
2.6.9 используется --extended-attributes
, где rsync
3.0.6 использует --xattrs --acls
.Проверка работоспособности, это кажется правильным?
Коллега спросил, следует ли нам использовать --rsync-path=PROGRAM
, существовавший в 2.6.9, не был уверен, нужно ли это, так как технология вызывает наш скрипт, имы управляем командой, включая путь к rsync
... проверке работоспособности, на всякий случай.:)
[РЕДАКТИРОВАТЬ: Подтверждено --rsync-path=PROGRAM
не требуется.]
TIA, Дон