[tar コマンド] 大量のファイルを サーバー上で圧縮・解凍する方法

サイト運用

サーバー上のファイル群をローカルにダウンロードしたいときに、大量のファイル数があると時間がかかったり、途中で失敗して最初からやり直しなど、少々面倒を感じることがあります。
そのような場合に、サーバー上で複数のファイルをアーカイブ(まとめて)圧縮してダウンロード。
または圧縮しているファイルをサーバー上で解凍できるようにすると、時間とファイルの煩雑感がすこし軽減します。

今回の作業のポイント
  • この作業のポイントは、サーバーにSSHで接続します。
  • アーカイブ、圧縮、解答はターミナルコマンドを打ちます。

サーバーにSSHで接続

SSH接続できるまでの手順は、3ステップあります。
1、SSHアカウントを作成する
2、ローカルでSSH Keyを設定
3、ターミナルからSSH接続

ConoHaサーバーへのSSH接続方法はお手数ですが、こちらの記事をご参考ください。

圧縮ファイルを作成するディレクトリに移動

無事、ターミナルからサーバーにSSH接続できたら、圧縮ファイルを作成するディレクトリに移動します。(ルートディレクトリに作るでOKの場合は、そのままの位置でも大丈夫です。)

サーバー接続OKの状態、ルートの確認

接続できている状態だと、[c7812394@web0076 ~](ConoHaのユーザー名とホスト名)と表示されます。
ルートは「/home/c7812394」(home/ユーザー名)です。

[c7812394@web0076 ~]$ pwd
/home/c7812394

今回は、「test.atelier-light.com」というディレクトリ内にある「wp」ディレクトリにWordPressのファイル一式が入っている状態です。
「test.atelier-light.com」ディレクトリに、「wp」ディレクトリの圧縮ファイルを作ります。
「/public_html/test.atelier-light.com」までディレクトリを移動します。

cd public_html/test.atelier-light.com
コマンド説明

cdchange directory(チェンジディレクトリ)」
カレントディレクトリの移動。

FTPソフトでの位置

FTPソフトで同じディレクトリはこちらです。
コマンドに慣れていないと、位置関係の把握がしずらいのでご参考ください。

ルートディレクトリ

「/public_html/test.atelier-light.com」ディレクトリ

圧縮・解凍のコマンドを打つ

ファイルのアーカイブと圧縮

ターミナルでコマンドを打つ

tar cvzf [任意のファイル名をつけます].tar.gz [圧縮対象ディレクトリ]

// 具体例
tar cvzf wp_20211022.tar.gz wp
コマンド説明

tar cvzf:アーカイブしたファイルを圧縮。

tar xvzf:アーカイブ(圧縮)ファイルの解凍(展開)。

オプション
-c:新規アーカイブファイルを作成(create)
-x:アーカイブからファイルを取り出す(extract)
-v:動作中のメッセージを詳しく表示(verbose)
-z:作成するアーカイブをgzipで圧縮(-c使用時のみ)
f:アーカイブファイル名を指定(file name)

コマンドの命令が成功すると、アーカイブしたファイルがずらずらっと画面に表示されます。
終了すると、ディレクトリに「wp_20211022.tar.gz」というファイルができています。

ターミナル画面

FTP画面

圧縮ファイルの解凍

ターミナルでコマンドを打つ

tar -xvzf test-defrost.tar.gz

ターミナル画面

「test-defrost.tar.gz」ファイル名の圧縮ファイルがあります。

コマンドで圧縮ファイルを展開後、「test-defrost」というディレクトリが表示されます。
test-defrost」ディレクトリ内には、「defrost_01.php」「defrost_02.php」「defrost_03.php」というファイルが展開されています。

FTP画面

「test-defrost.tar.gz」ファイル名の圧縮ファイルがあります。

コマンドで圧縮ファイルを展開後、「test-defrost」というディレクトリが表示されます。

FTPダウンロードした場合の時間差

FTPダウンロードした場合の時間差
  • 圧縮なしの場合:10分〜15分程度
  • 圧縮した場合:1分かからないくらい。

※ネットワーク状態や、ファイル数、大きさによって異なります。

タイトルとURLをコピーしました