tarで圧縮する時に特定のディレクトリは除外する方法
Contents
概要
このサーバーのバックアップですが、cronでWEBコンテンツがあるディレクトリをtarで圧縮しています。owncloudを入れたので容量が大きくなってバックアップのダウンロードに時間をかかるようになりました。owncloudの領域でいるのはデータがある箇所だけですし、その箇所はPCと同期されているので不要です。
tarで圧縮する時に、rsync等と同じようにexcludeのオプションで除外できないか調べました
tar で特定のディレクトリを除外するオプション
調べてみると、rsyncと同じで「exclude」のオプションでした。同期する時にrsyncだとログは除外とかtmp領域は除外とか、excludeオプションは使い機会が多かったですが、tarの圧縮でも同じオプションだったですね
【コマンド書式】
tar cvf 圧縮するパス –exclude 除外するディレクトリのパス 圧縮対象対象のディレクトリ
下記では、/var/www/vhost/owncloudを除外して、/var/www/vhost/を圧縮する場合のコマンドです
# ディレクトリ構造 /var/www/vhost/ ├── owncloud ├── site01 ├── site02 └── site03 $ tar czvf /var/tmp/www_vhost.tar.gz /var/www --exclude vhost/owncloud
excludeで指定するディレクトリパスですが、圧縮対象のディレクトリからのパスになるので注意して下さい。
また除外するディレクトリを指定しても圧縮がされてしまう場合はあります。
–exclude 除外するディレクトリの最後に「/(スラッシュ)」が含まれる場合は圧縮されてしまうケースがありますので注意して下さい
- 圧縮される –exclude vhost/owncloud/
- 圧縮されない –exclude vhost/owncloud
ディスカッション
コメント一覧
まだ、コメントがありません