Logging

我在哪裡可以找到遠端機器上執行的 rsync 命令的日誌?

  • June 26, 2020

我正在通過 ssh 將 rsync 執行到遠端機器。執行命令後,我想確認我發送到遠端機器的命令是實際執行的命令。這是在某處記錄的嗎?遠端機器是一個 debian 盒子。

需要明確的是,使用 rsync/rsyncd 可能與此不同;您正在執行 rsync -> ssh -> sshd -> rsync,因此不涉及 rsyncd。

預設情況下,rsync 不會記錄它在做什麼。如果您想了解歷史上過去執行了什麼,sshd 可能已經記錄了 rsync 給出的命令,但不太可能。

如果您只想知道命令是什麼,請手動執行 rsync,並指定“rsh=‘ssh -v’”以啟用詳細輸出,並註意“debug1: Sending command: rsync –server …”。

您可以通過添加以下內容來設置強制記錄命令的內容:

command="logger -p user.notice $SSH_ORIGINAL_COMMAND; $SSH_ORIGINAL_COMMAND" ssh-rsa AAAAB3NabcdABCD... rsa-key-bla

到authorized_keys 文件,針對用於登錄的密鑰。您可能希望為rsync 創建一個密鑰。

實際上,強制執行命令會導致寫入該命令的日誌。所以這可能就是你所需要的。

引用自:https://serverfault.com/questions/1022958