tarコマンドで複数ディレクトリを個別に一括圧縮する方法(lsとxargsを使用)

tarコマンドで複数ディレクトリを個別に一括圧縮する方法

Photo Ben White via Unsplash

私はエックスサーバーで複数サイトを運用しています。エックスサーバーには自動バックアップ機能がありますが、念のため、自分でもputtyを使って定期的にSSHで接続してtarコマンドでバックアップを取るようにしています。

tarコマンドを使って、圧縮ファイルを作成する方法、複数サイトを対象にサイトごとの圧縮ファイルを作成しながら一括で処理する方法を紹介します。

スポンサーリンク

tarコマンドで圧縮ファイルを作成する方法

tarコマンドで個別に圧縮ファイルを作成する場合、次のようになります。

webtoolnavi.com

というディレクトリに対して、

webtoolnavi.com.tar.gz

という圧縮ファイルが作成されます。

tarコマンドでディレクトリごとの圧縮ファイルを一括で作成する方法

サイト数が少ない場合は先ほど紹介した圧縮ファイル作成コマンドを数回繰り返せば良いのですが、運営サイトが増えてくるとそれなりに手間になります。

そこで、tarコマンドで複数のディレクトリを対象に、それぞれを個別に圧縮しながら、一括で処理したいと思います。コマンドは次のようになります。

「~.com」に該当するディレクトリをバックアップ対象にしています。

例えば、

webtoolnavi.com
hogehoge.com
text.com
test.jp

という4つのディレクトリがある場合、「test.jp」以外の3つのディレクトリが「~.com」のパターンに該当するので、

webtoolnavi.com.tar.gz
hogehoge.com.tar.gz
text.com.tar.gz

という圧縮ファイルが作成されます。

ワイルド・カードの使い方

圧縮対象ディレクトリのパターンの部分には、次のようなワイルドカードが使えます。

ワイルドカード 解説
? 任意の1文字。ただし,ドット・ファイルのドット「.」は除く
* 0文字以上の文字列。ただし,ドット・ファイルのドット「.」は除く
[] [ ]内の任意の1文字。ハイフン「-」により文字範囲を指定できる
{} { }内の任意の文字列。文字列はカンマ「,」により複数列挙できる

[ ]は次のように文字範囲を指定できます。

ワイルドカード 解説
[0-9] 数字
[a-z] 小文字アルファベット
[A-Z] 大文字アルファベット
[0-9a-zA-Z] 数字,アルファベット

ワイルドカードは、例えば、次のような使い方ができます。

ワイルドカード 解説
*.com .comで終わるファイル・ディレクトリ
test* testではじまるファイル・ディレクトリ
[0-9]* 数字ではじまるファイル・ディレクトリ

人気の記事

日本語対応の無料WordPressテーマ10選
日本語対応の無料WordPressテーマ10選
2017年におすすめしたい、日本語対応の有料WordPressテーマ10選
2017年におすすめしたい、日本語対応の有料WordPressテーマ10選
アドセンス運用に最適なWordPressテーマ3選
アドセンス運用に最適なWordPressテーマ3選
スポンサーリンク

関連記事 & スポンサーリンク

コメント

  • Posted on
  • Views 59