Ssh

使用 ssh|tar 將遠端文件備份到 archive.tar.gz

  • December 20, 2021

我正在使用該命令ssh user@remote -p 22 "tar cz my-folder" | tar xz -C /d/local-backups將遠端文件夾備份到我的本地驅動器。

它工作正常,並且文件夾結構在我的本地驅動器中被複製。但是不是提取文件並重新創建完全相同的文件夾結構,是否可以將文件附加到存檔中?

我嘗試了類似ssh user@remote -p 22 "tar cz my-folder" | tar rz -C /d/local-backups/arcive.tar.gz但沒有運氣的東西。

編輯 這是帶有命令的控制台輸出

`ssh user@remote -p 22 "tar cz my-folder" | tar rvf -C /d/local-
backups/archive.tar.gz`

/d/local-backups/archive.tar.gz
tar: Removing leading `/' from member names
/d/local-backups/archive.tar.gz
tar: Removing leading `/' from hard link targets

在執行命令之前,我還嘗試創建archive.tar.gz(其中包含一個文本文件),但即使存檔存在,文件也不會放入。

有沒有辦法讓最後只有一個文件“archive.tar.gz”包含從我的伺服器檢索到的所有文件?

通過第一步你的命令思想,你在遠端機器上創建一個檔案

ssh user@remote -p 22 "tar cz my-folder" 

然後在本地機器上解壓

| tar xz -C /d/local-backups
-C - change directory to "/local-backups" before performing an operation.

這就是為什麼通過這個命令理論上你不能在本地機器上擁有一個存檔。但它比提取它更簡單。如果您只想在遠端電腦上創建存檔並將存檔保存在本地電腦上,您可以使用

ssh user@remote -p 22 "tar cz my-folder" > /tmp/archive.tar.gz

此命令將創建一個存檔。在此之後,您可以檢查結果

$ tar -tvf archive.tar.gz
drwxr-xr-x zidercol/users    0 2021-12-20 18:10 Temp/
-rw-r--r-- zidercol/users  270 2021-12-20 18:10 Temp/T0

引用自:https://unix.stackexchange.com/questions/683133