tarとgzipを使用してWebディレクトリファイルを圧縮し、コマンドとしてローカルコンピュータからrsyncを使用してダウンロードするにはどうすればよいですか?

tarとgzipを使用してWebディレクトリファイルを圧縮し、コマンドとしてローカルコンピュータからrsyncを使用してダウンロードするにはどうすればよいですか?

これがより効率的であることに気づき、元の質問を書き直しています。

私のウェブサイトファイルをtarとgzipに圧縮してダウンロードしたいです。

tarとcvzfを使用して、1つのコマンドでtarとgzipを使用できることを知っています。

その後、rsync -av --statsコマンドを使用して、rsyncを使用してパーソナルコンピュータにダウンロードできます。[Eメール保護]:/リモートディレクトリパス/ファイル名/ローカルディレクトリパス/ファイル名

これを1つのコマンドにまとめることができますか?

または、誰かがWebディレクトリをローカルコンピュータにダウンロードしてファイルにバックアップするための最良の方法を提案できます。

ベストアンサー1

リモートサーバーのディレクトリツリーをローカルシステムにミラー化したくないと言いました。この場合はrsync間違ったツールです。tarコンテンツを直接リモートで送信して、圧縮されたtarballをローカルシステムに配信できます。

ssh [email protected] tar -C /path/to/directory -czf - . | cat >tarball.tgz

とはrsync異なり、これはローカルで状態を維持しないため、転送中に接続が切断された場合は、アーカイブ全体を再送信する必要があります。この問題を解決する 1 つの方法は、tarリモート サーバーのコンテンツにアクセスし、それを使用してrsyncそのコンテンツを転送することです。

ssh [email protected] 'tar -C /path/to/directory -cf - . | gzip --rsyncable >tarball.tgz'
rsync -av [email protected] tarball.tgz .

この--rsyncableフラグは、圧縮されていない元のファイルのマイナーな変更によって圧縮結果全体が変更されないように、圧縮されたファイル内に再開マークを提供します。

おすすめ記事