MacOS:rsync: различия между версиями

нет описания правки
(Новая страница: «Программа для UNIX-подобных систем, которая эффективно выполняет синхронизацию файлов и каталогов в двух местах с минимизированием трафика, используя кодирование данных при необходимости. Важным отличием rsync от многих других программ/протоколов являе...»)
 
Нет описания правки
 
(не показаны 2 промежуточные версии этого же участника)
Строка 3: Строка 3:
==Установка rsync на macOS==
==Установка rsync на macOS==
Устанавливается через [[macOS:homebrew|HomeBrew]] командой в [[macOS:terminal-mac-os|терминале]]:
Устанавливается через [[macOS:homebrew|HomeBrew]] командой в [[macOS:terminal-mac-os|терминале]]:
<code>brew install rsync</code>
<syntaxhighlight lang="bash"> $> brew install rsync</syntaxhighlight>
 
Если у вас старый iMac (macOS Catalina), то в процессе установки возникнет ошибка с выбором что делать дальше. Выбираем пункт 2. Ignore (просто на клавиатуре нажимаем 2).
 
После чего нужно будет перезагрузиться в режиме восстановления (cmd+R) и запустить Терминал.
И в нем прийдется ручками вбить 4 команды:
 
<syntaxhighlight lang="bash">
$> mv /Volumes/mac/usr/bin/rsync /Volumes/mac/usr/bin/rsync3.1.2
$> ln -s /Volumes/mac/usr/local/Cellar/rsync/3.2.7_1/bin/rsync /Volumes/mac/usr/bin/rsync
$> mv /Volumes/mac/usr/local/bin/rsync /Volumes/mac/usr/local/bin/rsync3.1.2
$> ln -s /Volumes/mac/usr/local/Cellar/rsync/3.2.7_1/bin/rsync /Volumes/mac/usr/local/bin/rsync
</syntaxhighlight>
<code style="color: red">(Адрес версии rsync может отличаться ввиду выхода новых версий, нужно проверить перед началом)</code>


==Синхронизация==
==Синхронизация==
Строка 9: Строка 22:


===Локально:===
===Локально:===
<code>rsync -auvq8 --delete --progress «ЧТО» «КУДА»</code>
<syntaxhighlight lang="bash"> $> rsync -auvq8 --delete --progress «ЧТО» «КУДА»</syntaxhighlight>


===Между компьютерами и/или серверами===
===Между компьютерами и/или серверами===
<code>rsync -auvq8 -e='ssh -p 99' --delete --progress «логин»@«адрес»:«ЧТО» «логин»@«адрес»:«КУДА»</code>
<syntaxhighlight lang="bash"> $> rsync -auvq8 -e='ssh -p 99' --delete --progress «логин»@«адрес»:«ЧТО» «логин»@«адрес»:«КУДА»</syntaxhighlight>


===Ключи===
===Ключи===
Строка 21: Строка 34:
* -8            => Это говорит rsync оставлять все старшие разрядные символы в выводе неэкранированными, вместо того, чтобы пытаться проверить их, допустимы ли они в текущей локали, и экранировать недопустимые. Все управляющие символы (но не символы табуляции) всегда экранируются, независимо от настройки этой опции. Идиома экранирования, появившаяся в версии 2.6.7, заключается в выводе буквальной обратной косой черты (\) и решетки (#), за которыми следуют ровно 3 восьмеричные цифры. . Например, новая строка будет выводиться как «\#012». Буквальная обратная косая черта в имени файла не экранируется, если за ней не следует хеш и 3 цифры (0–9).
* -8            => Это говорит rsync оставлять все старшие разрядные символы в выводе неэкранированными, вместо того, чтобы пытаться проверить их, допустимы ли они в текущей локали, и экранировать недопустимые. Все управляющие символы (но не символы табуляции) всегда экранируются, независимо от настройки этой опции. Идиома экранирования, появившаяся в версии 2.6.7, заключается в выводе буквальной обратной косой черты (\) и решетки (#), за которыми следуют ровно 3 восьмеричные цифры. . Например, новая строка будет выводиться как «\#012». Буквальная обратная косая черта в имени файла не экранируется, если за ней не следует хеш и 3 цифры (0–9).
* -e='ssh -p 22' => Использовать другой транспорт, например, ssh;
* -e='ssh -p 22' => Использовать другой транспорт, например, ssh;
* --delete      => Удалять файлы которых нет в источнике; <pre style="color: red">(Использовать с осторожностью, могут быть нежелательные последствия)</pre>
* --delete      => Удалять файлы которых нет в источнике; <code style="color: red">(Использовать с осторожностью, могут быть нежелательные последствия)</code>
* --progress    => Выводить прогресс передачи файла;
* --progress    => Выводить прогресс передачи файла;


Есть и другие ключи, «ТЫндекс» вам в помощь.
Есть и другие ключи, «ТЫндекс» вам в помощь.
==Файл конфигурации сервера rsync==
На удаленных компьютера/серверах нужно обязательно настроить SSH (Как настроить: [[macOS:SSH|ssh macOS]] или [[QNAP_NAS:Entware:SSH|ssh на QNAP]])
А так же следует отредактировать файл конфигурации rsync, который находится:
<syntaxhighlight lang="bash"> $> /etc/rsyncd.conf</syntaxhighlight>
Пример содержимого файла:
<syntaxhighlight lang="bash">
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsync.log
[share]
path = /tmp/share/
hosts allow = 192.168.56.1
hosts deny = *
list = true
uid = root
gid = root
read only = false
</syntaxhighlight>
<code style="color: red">(После редактирования файла следует перезапустить службу или перезагрузить компьютер)</code>