Когда дело доходит до rsync, подумайте о client
и server
как о ролях, которые один и тот же двоичный файл rsync может выполнить. Когда он работает как демон, вы создаете файл rsyncd.conf и запускаете rsync с аргументом - daemon
.
Один двоичный файл rsync может подключаться к другому (удаленному) двоичному файлу rsync либо напрямую - если rsync работает как демон, прослушивающий собственные соединения на удаленном хосте, либо через выполнение удаленной оболочки - где rsync использует ssh для подключения к удаленному host и выполнить двоичный файл rsync на этом хосте, при этом оба процесса rsync будут передавать данные друг другу.
Надеюсь, ответим на ваши вопросы:
При передаче файлов между локальным и удаленным путем доступа через
демон rsync, требуется ли удаленный хост для запуска rsync в качестве демона?
Должен ли удаленный хост запускать rsync при передаче файлов между локальным и удаленным путем доступа через удаленную оболочку
? Если да, то
удаленный хост запускает rsync как сервер, но не как демон, или просто
как локальный хост запускает rsync как клиент?
Нужно ли при передаче файлов на локальном хосте на локальном хосте
запускать клиент rsync и сервер rsync?
При перечислении исходных файлов вместо копирования, если источником является
на удаленном хосте, должен ли удаленный хост запускать rsync в качестве сервера
или демона?
rsync -e ssh
для доступа к rsync
(клиент) на удаленном хосте. (Rsync, порожденный удаленной оболочкой в Q6.) Какие варианты использования делают «Обратите внимание, что rsync должен быть установлен как на
исходном, так и на целевом компьютерах», применяется к {{ 1}} соответственно?
rsync
. В случае, если SRC и DEST - это одна и та же машина, отдельный двоичный файл rsync по существу будет выполнять обе роли. В ОБЩЕЙ части «сервер может быть либо демоном, либо
процессом, порожденным удаленной оболочкой».Означает ли удаленный хост, на котором запущен rsync в качестве сервера
как "порожденный удаленной оболочкой процесс", что удаленный хост
запускает rsync так же, как локальный хост запускает rsync?
rsync
выполняет роль сервера. Было бы достаточно создать файл сценария, содержащий такие функции вашего фреймворка, как этот:
/tmp/framework.sh
# Define a serie of functions of your framework...
function framework_function_1() {
echo "function 1 executed"
}
function framework_function_2() {
echo "function 2 executed"
}
# And put here anything you want to be executed right away (like the trap)
echo "framework.sh was executed"
Затем включите его в остальные скрипты, как здесь:
/tmp/b.sh
# Include the framework:
. /tmp/framework.sh
echo "Script b.sh was executed"
# Calling a framework's function
framework_function_2
При этом выполнение b.sh (и любого другого скрипта, включая framework.sh ), будет похоже на:
$ /tmp/b.sh
framework.sh was executed
Script b.sh was executed
function 2 executed
Обратите внимание, что . /tmp/framework.sh
совпадает с source /tmp/framework.sh
.