
Я уже пробовал публиковать логи на хост-машине (используя docker run -v src:/des), теперь я хочу перенести логи на другой сервер.
Команды, которые я использовал:
- rsync -u -avze ssh источник/* example.com:/des/logs
rsync: Не удалось выполнить ssh: Такого файла или каталога нет (2) Ошибка rsync: ошибка в коде IPC (код 14) в pipe.c(84) [отправитель=3.0.9] rsync: writefd_unbuffered не удалось записать 4 байта в сокет [отправитель]: Сломанный канал (32) Ошибка rsync: ошибка в коде IPC (код 14) в io.c(1532) [отправитель=3.0.9]
Уже проверил исходный и конечный пути, но результат тот же.
Если хост-сервер 1 может взаимодействовать с сервером 2, то контейнер Docker, работающий поверх сервера 01, должен иметь возможность взаимодействовать с сервером 2. (Это верное утверждение?)
Есть ли способ использовать утилиты Linux, чтобы управлять журналами без использования других инструментов, таких как Splunk?
решение1
Ваш синтаксис неверен, поэтому вы получаете сообщение об ошибке:
“No such file or directory (2) rsync error”
Правильный синтаксис:
$ rsync <options> /source host:/dest
Например
$ rsync -avz /source host:/dest
Если вам необходимо указать пользовательский порт для ssh, используйте для этого кавычки, пример ниже:
$ rsync -e "ssh -p port" <options> /source host:/dest
Также проверьте владельца исходного каталога, это должен быть пользователь, выполняющий rsync, в противном случае синхронизация не будет выполнена.