このコマンドを使用して、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"ファイルを最後に1つだけ置く方法はありますか?
答え1
最初のステップコマンドのアイデアに従って、リモートシステムにアーカイブを作成します。
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