ホームページ システムチュートリアル Linux Linux tar コマンドの高度な使用法 - データのバックアップ

Linux tar コマンドの高度な使用法 - データのバックアップ

Feb 12, 2024 pm 10:10 PM
linux Linuxチュートリアル Linuxシステム Linuxコマンド シェルスクリプト overflow 埋め込みLinux Linux を始める Linux学習

Linux システムには強力な tar コマンドがあります。 tar は元々、テープ バックアップ (テープ アーカイブ) を作成するために設計されており、ファイルとディレクトリをテープにバックアップしたり、テープからファイルを抽出または復元したりできます。これで、tar を使用して任意のストレージ メディアにデータをバックアップできるようになりました。これは、基礎となるファイル システムのタイプを考慮する必要のないファイル レベルのバックアップであり、増分バックアップをサポートします。

Linux tar命令高级用法——备份数据

1. いくつかの一般的なオプション

●-z、-gzip: gzip ツール (解凍) を使用します。通常、サフィックスは .gz

です。

●**-c, –create: **tar パッケージ。通常、サフィックスは .tar

です。

●**-f, –file=: ** の直後には、パッケージ化または圧縮後に取得されたファイル名が続きます

●**-x, –extract: **解凍コマンド、-c

に対応

#-p:バックアップ データの元の権限と属性を保持します

●**-g: **スナップショット ファイルとそれに続く増分バックアップ

●**-C:**解凍ディレクトリを指定

●**–exclude: **パッケージ化されていないディレクトリまたはファイルを除外し、通常の一致をサポートします

######他の######

●**-X、-exclude-from: **ファイル内で除外するディレクトリまたはファイルをリストします (-exclude= がそれ以上の場合に使用されます) ●**-t、-list: **バックアップ アーカイブ内のファイル リストを一覧表示します。-c および -x

と同時に表示されません。

●**-j、-bzip2: **bzip2 圧縮 (解凍) ツールを使用します。通常、サフィックスは .bz2

です。

●**-P: **絶対パスを保持しておくと、解凍時に自動的に絶対パスにも解凍されます。

●**-v: **(解凍)圧縮プロセスはファイル処理プロセスを表示します。一般的に使用されますが、大きなファイルには推奨されません

2. 増分バックアップ (Web サイト) データ

多くのシステム (アプリケーションまたは Web サイト) は毎日静的ファイルを生成します。より重要な静的ファイルを定期的にバックアップする必要がある場合は、それらを tar パッケージ化して圧縮し、指定した場所にバックアップできます (特に合計の一部)。ファイルが大きくなるにつれて、-g オプションを使用して増分バックアップを実行することもできます。

バックアップ ディレクトリには相対パスを使用することをお勧めします。つまり、バックアップする必要があるルート ディレクトリを入力します。

具体的な方法例は以下の通りです。

#「

」 リーリー

#-g オプションは、バックアップ中にディレクトリ ファイルのスナップショットを取得し、アクセス許可や属性などの情報を記録するものと理解できます。最初のバックアップ中に /tmp/snapshot_data.snap が存在しない場合は、新しいものが作成されますそして完全なバックアップを作成します。ディレクトリ内のファイルが変更された場合、最初のバックアップ コマンドを再度実行します (後続のアーカイブ ファイル名を変更することを忘れないでください)。変更されたファイルは、アクセス許可と属性を含めて、 - で指定されたスナップショット ファイルに基づいて自動的に増分バックアップされます。 g. 移動されたファイルは再度バックアップされません。

また、上記のリカバリは「保存リカバリ」であることにも注意してください。つまり、同じファイル名のファイルは上書きされ、元のディレクトリに既に存在するファイル (バックアップ ファイルには存在しない) は引き続き保持されます。 。したがって、ファイルをバックアップしたときとまったく同じように完全に復元したい場合は、元のディレクトリをクリアする必要があります。増分バックアップ ファイルがある場合は、同じ方法を使用してこれらのファイルを個別に解凍し、順序に注意する必要があります。

以下は、より包括的な例を示しています。

が必要です。

#/tmp/data ディレクトリをバックアップしますが、キャッシュ ディレクトリと一時ファイルは除外します

#ディレクトリが比較的大きい (>4G) ため、完全バックアップ中にバックアップ ファイルはいくつかの部分に分割されます (たとえば、各バックアップ ファイルは最大 1G まで可能です)

#すべてのファイル権限と属性 (ユーザー グループや読み取り/書き込み権限など) を保持します

#「

# cd /tmp/data

完全バックアップを作成します

# rm -f /tmp/snapshot_data.snap # tar -g /tmp/snapshot_data.snap -zcpf – –exclude=./cache ./ | Split -b 1024M – /tmp/bak_data$(date -I).tar.gz_

分割後、ファイル名の後に aa、ab、ac、... が続き、最終的なバックアップ アーカイブは

として保存されます。

bak_data2014-12-07.tar.gz_aa

bak_data2014-12-07.tar.gz_ab

bak_data2014-12-07.tar.gz_ac

#…

増分バックアップ

は完全バックアップと同じコマンドですが、1 日に複数回バックアップするとファイル名が重複する可能性があり、結果として

が発生することに注意してください。

バックアップの実装。分割の名前は依然として aa、ab から始まるため、1 日に生成 (変更) されるファイルの量が特に多くない場合は、増分部分を

にしないことをお勧めします。

分割処理: (分割する必要がある場合は、$(date %Y-%m-%d_%H) のように、ファイル名にさらに詳細な時間を追加します)

# tar -g /tmp/snapshot_data.snap -zcpf /tmp/bak_data2014-12-07.tar.gz –exclude=./cache ./

2日目の追加リザーブ

# tar -g /tmp/snapshot_data.snap -zcpf /tmp/bak_data2014-12-08.tar.gz –exclude=./cache ./

#回復プロセス

#「

完全バックアップ アーカイブ ファイルを復元する

/tmp/data/ ディレクトリを最初にクリアするかどうかを選択できます

# cat /tmp/bak_data2014-12-07.tar.gz_* | tar -zxpf – -C /tmp/data/

増分バックアップ アーカイブ ファイルを復元する

$ tar –zxpf /tmp/bak_data2014-12-07.tar.gz -C /tmp/data/

$ tar –zxpf /tmp/bak_data2014-12-08.tar.gz -C /tmp/data/

#…

必ず時系列順に復元してください。以下のようなファイル名ルールの場合は、上記のワイルドカード形式を使用することもできます

#週に 1 回の完全バックアップと 1 日 1 回の増分バックアップなど、定期的なバックアップが必要な場合は、crontab と組み合わせて実装できます。

3. ファイル システムのバックアップ

ファイル システムをバックアップするには、cpio、rsync、dump、tar など、さまざまな方法があります。ここでは、tar を使用して Linux システム全体をバックアップする例を示します。バックアップとリカバリのプロセス全体は上記と同様です。 まず第一に、Linux (ここでは CentOS) には、/proc、/lost found、/sys、/mnt、/media、/dev、/proc、/ など、バックアップする必要のないディレクトリがいくつかあります。テープにバックアップしている場合、ローカルの /backup ディレクトリにバックアップしているため、/dev/st0 についてはあまり気にする必要はありません。そのため、NFS またはネットワーク ストレージによってマウントされた他のディレクトリも除外する必要があります。 。

#「

除外リストファイルの作成

# vi /backup/backup_tar_exclude.list ###/バックアップ###

/proc

###/探し物を見つけた###

/システム

/月

###/メディア###

/開発

/tmp

$ tar -zcpf /backup/backup_full.tar.gz -g /backup/tar_snapshot.snap –exclude-from=/backup/tar_exclude.list /

#4.注意

データまたはファイル システムのバックアップに tar を使用している場合は、元のシステムに復元するか、別の新しいシステムに復元するかを検討する必要があります。

#tar バックアップは、ファイルの atime 属性に大きく依存します。

#ファイルが属するユーザーはユーザー ID に基づいて決定されます。マシン間リカバリでは、同じユーザーが同じ USERID を持つことを考慮する必要があります #バックアップおよびリカバリのプロセス中に他のプロセスを実行しないようにしてください。データの不整合が発生する可能性があります。

#ソフトリンクファイルとハードリンクファイルは正常に復元できます

以上がLinux tar コマンドの高度な使用法 - データのバックアップの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

web.xmlを開く方法 web.xmlを開く方法 Apr 03, 2025 am 06:51 AM

web.xmlファイルを開くには、次の方法を使用できます。テキストエディター(メモ帳やテキストエディットなど)を使用して、統合開発環境(EclipseやNetBeansなど)を使用してコマンドを編集できます(Windows:Notepad web.xml; Mac/Linux:Open -A Textedit Web.xml)

マルチスレッドをC言語で実装する4つの方法 マルチスレッドをC言語で実装する4つの方法 Apr 03, 2025 pm 03:00 PM

言語のマルチスレッドは、プログラムの効率を大幅に改善できます。 C言語でマルチスレッドを実装する4つの主な方法があります。独立したプロセスを作成します。独立して実行される複数のプロセスを作成します。各プロセスには独自のメモリスペースがあります。擬似マルチスレッド:同じメモリ空間を共有して交互に実行するプロセスで複数の実行ストリームを作成します。マルチスレッドライブラリ:pthreadsなどのマルチスレッドライブラリを使用して、スレッドを作成および管理し、リッチスレッド操作機能を提供します。 Coroutine:タスクを小さなサブタスクに分割し、順番に実行する軽量のマルチスレッド実装。

PythonインタープリターはLinuxシステムで削除できますか? PythonインタープリターはLinuxシステムで削除できますか? Apr 02, 2025 am 07:00 AM

Linux Systemsに付属するPythonインタープリターを削除する問題に関して、多くのLinuxディストリビューションは、インストール時にPythonインタープリターをプリインストールし、パッケージマネージャーを使用しません...

Linuxは何に最適なものですか? Linuxは何に最適なものですか? Apr 03, 2025 am 12:11 AM

Linuxは、サーバー管理、組み込みシステム、デスクトップ環境として最適です。 1)サーバー管理では、LinuxはWebサイト、データベース、アプリケーションをホストするために使用され、安定性と信頼性を提供します。 2)組み込みシステムでは、Linuxは柔軟性と安定性のため、スマートホームおよび自動車電子システムで広く使用されています。 3)デスクトップ環境では、Linuxは豊富なアプリケーションと効率的なパフォーマンスを提供します。

Debian Hadoopの互換性はどうですか Debian Hadoopの互換性はどうですか Apr 02, 2025 am 08:42 AM

DebianLinuxは、その安定性とセキュリティで知られており、サーバー、開発、デスクトップ環境で広く使用されています。現在、DebianとHadoopとの直接的な互換性に関する公式の指示が不足していますが、この記事では、DebianシステムにHadoopを展開する方法について説明します。 Debianシステムの要件:Hadoop構成を開始する前に、DebianシステムがHadoopの最小動作要件を満たしていることを確認してください。これには、必要なJavaランタイム環境(JRE)とHadoopパッケージのインストールが含まれます。 Hadoop展開手順:Hadoopをダウンロードして解凍:公式ApachehadoopのWebサイトから必要なHadoopバージョンをダウンロードして解決します

GOを使用してOracleデータベースに接続するときにOracleクライアントをインストールする必要がありますか? GOを使用してOracleデータベースに接続するときにOracleクライアントをインストールする必要がありますか? Apr 02, 2025 pm 03:48 PM

GOを使用してOracleデータベースに接続するときにOracleクライアントをインストールする必要がありますか? GOで開発するとき、Oracleデータベースに接続することは一般的な要件です...

rootとしてmysqlにログインできません rootとしてmysqlにログインできません Apr 08, 2025 pm 04:54 PM

ルートとしてMySQLにログインできない主な理由は、許可の問題、構成ファイルエラー、一貫性のないパスワード、ソケットファイルの問題、またはファイアウォール傍受です。解決策には、構成ファイルのBind-Addressパラメーターが正しく構成されているかどうかを確認します。ルートユーザー許可が変更されているか削除されてリセットされているかを確認します。ケースや特殊文字を含むパスワードが正確であることを確認します。ソケットファイルの許可設定とパスを確認します。ファイアウォールがMySQLサーバーへの接続をブロックすることを確認します。

See all articles