我們如何使用 Rsysnc 將日誌從正在運行的容器傳輸到其他伺服器?

我們如何使用 Rsysnc 將日誌從正在運行的容器傳輸到其他伺服器?

我已經嘗試將日誌發佈到主機(使用 docker run -v src:/des),現在我想將日誌傳輸到不同的伺服器

我用過的命令:

  • rsync -u -avze ssh 來源/* example.com:/des/logs

    rsync:無法執行ssh:沒有這樣的檔案或目錄(2) rsync 錯誤:pipe.c(84) [sender=3.0.9] 處的IPC 程式碼(程式碼14)中出現錯誤rsync:writefd_unbuffered 無法將4 個字節寫入套接字[發送者]:管道損壞(32)rsync錯誤:io.c(1532)處的IPC代碼(代碼14)錯誤[發送者= 3.0.9]

已經檢查了來源路徑和目標路徑,但它仍然說相同。


  1. 如果主機伺服器1可以與伺服器2通信,那麼運行在伺服器01之上的Docker容器應該能夠與伺服器2通信。

  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,否則無法同步。

相關內容