[Linux] Rsnapshot スナップショット バックアップ
カテゴリ: テクノロジー共有
日付: 2023/05/05
スラッグ: rsnapshot
ステータス: 公開済み
概要: この記事では、バックアップ ディレクトリの定義やバックアップを実行するためのコマンド パラメーターなど、Rsnapshot スナップショット バックアップの基本を紹介します。これらには、link_dest や sync_first などのオプション、configtest、du、diff、sync などのコマンド引数が含まれます。さらに、バックアップの原理とバックアップ データのディスク使用量を表示する方法についても紹介します。
タグ: Linux
タイプ: 投稿
序章
CSDN の多くの形式はサポートされていません。良好な表示エクスペリエンスを得るには、
私のブログにアクセスしてください: https://www.luoxue.site/article/rsnapshot
最近、同社は、自社のアプリケーションが展開されているオールインワン マシンにスナップショット バックアップ機能を実装するよう要求しました。一体型機械は移動や使用が容易なため、不適切な環境や別の人による不適切な操作により問題が発生する可能性があります。この種の問題が発生した場合、オフラインで実行することはできず、リモートでのみ復元できます。
そこでこの記事ではLinuxバックアップツール「Rsnapshot」を紹介します。Rsnapshot は、rsync
Linux および Unix 系オペレーティング システム用のコマンド ベースのファイル システム スナップショット ユーティリティです。
ファイル システムのスナップショットは、さまざまな時点で取得できます。ハード リンクを使用すると、rsnapshot は 1 つの完全バックアップと差分分のスペースのみを使用しながら、複数の完全バックアップのように見せかけます。ssh と組み合わせて使用すると、リモート ファイルシステムのスナップショットを取得することもできます。
rsnapshot は Perl で書かれており、rsync に依存します。OpenSSH、GNU cp、GNU du、BSD ロガー プログラムも推奨されますが、必須ではありません。これらはすべて、ほとんどの Linux システムに存在するはずです。
❓ rsyncとは何ですか?
rsync は、ファイルとディレクトリをローカルまたはリモートで同期し、同期動作を監視および制御できる強力なファイル同期ツールです。rsync プロトコル (SSH 経由) に似たメカニズムを使用して、転送パフォーマンスを最大化し、帯域幅の使用量を削減します。rsync は増分バックアップを実行できます。つまり、ファイルの変更された部分のみが転送されるため、同期に必要な時間とネットワーク リソースが大幅に削減されます。
インストール
マスターの rsnapshot/INSTALL.md · rsnapshot/rsnapshot
環境要件
これは完全に Perl で書かれており、モジュールの依存関係はなく、バージョン 5.004 から 5.24.3 でテストされています。最新の UNIX 互換オペレーティング システムであればどれでも動作するはずです。
- 次のオペレーティング システムで正常にテストされています。
- Debian: 3.0 (木質)、9.9 (ストレッチ)
- レッドハット: 7.x、8.0
- RedHat Enterprise Linux: 3.0 ES、5、6、7
- Fedora コア: 1、3
- フェドーラ: 17、18
- CentOS: 3、4、5、6、7
- ホワイトボックス エンタープライズ Linux 3.0
- スラックウェア 9.0
- スズ:9.0
- Gentoo Linux
- FreeBSD 4.9-安定版
- OpenBSD 3.x
- Solaris 8 (SPARC および x86)
- Mac OS X
- アイリックス6.5
少なくとも: perl
、rsync
オプション: ssh
、logger
、GNU cp
、GNU du
ソースのインストール
ダウンロードアドレス: https://github.com/rsnapshot/rsnapshot/releases
-
ソース パッケージを解凍し、ソース ディレクトリに切り替えます。
tar -xzvf rsnapshot-1.4.5.tar.gz cd rsnapshot-1.4.5
この記事では最新バージョンをインストールします。
-
構成スクリプトを実行します。
デフォルトでは、インストール プロセスでは、
/usr/local
すべてのファイルが にインストールされます。設定ファイル/etc
を に。rsync
、ssh
、logger
および がすべて環境変数に含まれていることを前提としていますdu
。そうでない場合は、次の設定スクリプト パラメータを追加できます。./configure --with-perl=/usr/bin/perl --with-rsync=/usr/bin/rsync
--with-program=/path/to/program
これらのプログラムへのパスを指定するには、従来の構文を使用します。もちろん、上記の懸念がない場合は、構成スクリプトを直接実行できます。rsnapshot が依存するさまざまな外部プログラムの場所を見つけます。また、 も生成されます
Makefile
。構成スクリプトは、プログラムをインストールする場所とサポートするプログラムを見つける場所を指示するために使用できる引数を受け入れます。このインストールの場合、必要な唯一のデフォルト以外のオプションは、構成ファイルを/etc
ディレクトリに置くことです。./configure --sysconfdir=/etc
-
インストーラ。
前の操作を行った場合は、 rsnapshot を にインストールしようとしており
/usr/local
、構成ファイルは/etc
にあります。次にインストール作業を進めていきます。この操作には
root
権限が必要な場合があります。make install
ファイルパス 説明 /usr/local/bin/rsnapshot RSスナップショットプログラム /usr/local/man/man1/rsnapshot.1 マニュアルページ /etc/rsnapshot.conf.default サンプル構成ファイル *後でシステムに rsnapshot が必要ないと判断した場合は、上記のファイルを削除するか、インストール元と同じソース ディレクトリで **make uninstall を実行してください。*もちろん、別のオプションを使用してインストールした場合、これらのファイルの場所は異なる場合があります。
rpm または deb インストール
-
RHEL/CentOS 8/7/6/5/4 にインストールする
rpm -ivh rsnapshot_1.4.5-1_all.rpm
-
Debian/Ubuntu/Linux Mint の場合
dpkg -i rsnapshot_1.4.5-1_all.deb
パッケージマネージャーのインストール
-
RHEL/CentOS 8/7/6/5/4 にインストールする
yum install rsnapshot
-
Debian/Ubuntu/Linux Mint の場合
apt update apt install rsnapshot
設定ファイルを作成する
rsnapshot をインストールした後、それを構成する必要があります。デフォルトの構成ファイルは です/etc/rsnapshot.conf
。ただし、正確なパスはプログラムのインストール方法によって異なる場合があります。このファイルが存在しない場合。おそらく、インストール中に構成ファイルが作成またはインストールされなかったと思われます。ただし、再現できる実際の例が提供されています。サンプル構成ファイルを、rsnapshot が実際の構成ファイルを検索する場所にコピーするには、次のようにします。
cp /etc/rsnapshot.conf.default /etc/rsnapshot.conf
また、アップグレードを実行すると、rsnapshot.conf.default
ファイルは常に最新バージョンに更新され、実際の構成ファイルは安全になります。アップグレード中にmake upgrade をrsnapshot.conf
実行すると、.rsnapshot.conf.backup
例
次に、次の 2 つのサーバーを操作します。
- バックアップ サーバー: rsnapshot をインストールしてバックアップ コンテンツを保存します。
- クライアント: バックアップされるサーバー。
SSHパスワードレスログインを設定する
SSH
リモート Linux サーバーをバックアップするには、バックアップ サーバーがパスワードなしの接続を通過できる必要があります。このためには、サーバーをSSH
認証するための公開キーと秘密キーを作成する必要があります。rsnapshot
コマンドを使用してssh-keygen
キーペアを生成します。
ssh-keygen
# output
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa
Your public key has been saved in /root/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:RVjq/4AJclHttGjr3JvQtK8krOMST3uBE1EnoNRnnUM root@zhangyu
The key's randomart image is:
+---[RSA 3072]----+
| ...o+*E. |
| . .o.+=* |
| . .+.+.o |
| .oo.o |
| . o+S.. |
| .o+oo* . |
| + =*o* |
| . +.++.= |
| ooo +oo |
+----[SHA256]-----+
次に、公開キーをクライアント システムにコピーします。
ssh-copy-id -i [email protected]
# output
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '192.168.168.54 (192.168.168.54)' can't be established.
ECDSA key fingerprint is SHA256:bi+xYDrDy/dFmry/UYbjt4u0C6xGx5nH5UZe20Kp4fU.
Are you sure you want to continue connecting (yes/no/[fingerprint])?' yes
# 上方输入yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
Authorized users only. All activities may be monitored and reported.
[email protected]'s password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh '[email protected]'"
and check to make sure that only the key(s) you wanted were added.
⚠️错误:許可が拒否されました。もう一度お試しください。
このエラーが発生した場合は、クライアント ファイル内の/etc/ssh/sshd_config
「 」を変更し#PermitRootLogin prohibit-password
、コメントを解除して「 」に変更しPermitRootLogin yes
、サービスを再起動する必要があります。
注: 構成ファイルの場所の名前は、バージョン間またはシステム間で異なる場合があります。
上記の操作がまだ成功しない場合は、次のエラーがスローされることに注意してください。
Invalid user Administrator from 192.168.168.51 port 57883
May 05 06:55:33 zhangyu sshd[96375]: Invalid user Administrator from 192.168.168.51 port 57883
May 05 06:55:33 zhangyu sshd[96375]: Connection closed by invalid user Administrator 192.168.168.51 port 57883 [preauth]
ためらわずに openssh-server をアップグレードしてください。
apt upgrade openssh-server
Rsnapshotバックアップサーバーを構成する
/rsnapshot/
この例では、ファイルシステムのスナップショットを保持するためにディレクトリを使用します。これはスナップショット ルートと呼ばれます。十分な空きディスク容量がある場所ならどこにでも自由に配置できます。
このパラメータを変更する場合、それを別の場所に置きたい場合は、構成ファイル内のsnapshot_root
パラメータの後のデフォルトのパスを置き換える必要があります。
また、フィールドはスペースではなくタブで区切られることにも注意してください。この理由は、スペースを含むファイル パスを指定しやすくするためです。
また、ファイル内のディレクトリ名の末尾にスラッシュを指定する必要があることにも注意してください。/etc/rsnapshot.conf
たとえば、ディレクトリ名は/rsnapbackup/
ではなくと指定する必要があります/rsnapbackup
。
スナップショットのルートとコマンドの場所を定義する
23 snapshot_root /rsnapshot/
24
25 # If no_create_root is enabled, rsnapshot will not automatically create the
26 # snapshot_root directory. This is particularly useful if you are backing
27 # up to removable media, such as a FireWire or USB drive.
28 #
29 #no_create_root 1
30
31 #################################
32 # EXTERNAL PROGRAM DEPENDENCIES #
33 #################################
34
35 # LINUX USERS: Be sure to uncomment "cmd_cp". This gives you extra features.
36 # EVERYONE ELSE: Leave "cmd_cp" commented out for compatibility.
37 #
38 # See the README file or the man page for more details.
39 #
40 cmd_cp /usr/bin/cp
41
42 # uncomment this to use the rm program instead of the built-in perl routine.
43 #
44 cmd_rm /usr/bin/rm
45
46 # rsync must be enabled for anything to work. This is the only command that
47 # must be enabled.
48 #
49 cmd_rsync /usr/bin/rsync
50
51 # Uncomment this to enable remote ssh backups over rsync.
52 #
53 cmd_ssh /usr/bin/ssh
54
55 # Comment this out to disable syslog support.
56 #
57 cmd_logger /usr/bin/logger
58
59 # Uncomment this to specify the path to "du" for disk usage checks.
60 # If you have an older version of "du", you may also want to check the
61 # "du_args" parameter below.
62 #
63 cmd_du /usr/bin/du
64
65 # Uncomment this to specify the path to rsnapshot-diff.
66 #
67 cmd_rsnapshot_diff /usr/local/bin/rsnapshot-diff
-
cmd_cp
cmd_cp
引数は、GNU cp
ファイル システム上のプログラムへのパスです。#
Linux では、パラメータの前にあるポンド記号 ( ) を削除して、このパラメータのコメントを解除します。BSD、Solaris、IRIX、またはその他のほとんどの UNIX バリアントでは、コメントアウトする必要があります。GNU cp
従来の とは異なりUNIX cp
、ディレクトリをハード リンクとして再帰的にコピーできます。持っていない場合はGNU cp
、この機能にある程度近いサブサンプルが rsnapshot にあります。この後に、rsync
残りの特殊ファイル (存在する場合) を転送する別の呼び出しが続きます。これにより、rsnapshot は各プラットフォームのすべてのファイル タイプをサポートできるようになります。経験則では、Linux システムでは有効にし
cmd_cp
、Linux 以外のシステムでは無効にしますcmd_cp
。 -
cmd_rsync
cmd_rsync
パラメータはコメントアウトできません。rsync
作業バージョンを指す必要があります。そうしないと、プログラムはまったく動作しません。を使用している場合は
IRIX
、 という別のプログラムがあることに注意してくださいrsync
。これは、ほとんどの人が知っているものとはまったく異なりますrsync
。IRIX
機械を使用している場合は、再確認する必要があります。 -
cmd_ssh
システムにパラメータがインストールされている場合は、パラメータの
ssh
コメントを解除する必要があります。cmd_ssh
を有効にするとssh
、任意の数のリモート システムのスナップショットを取得できます。ローカル ファイル システムのスナップショットを作成しない場合
ssh
、または作成する予定がある場合のみ、安全にコメント アウトできます。 -
cmd_logger
cmd_logger
パラメータは、ロガー プログラムへのパスを指定します。は、 のコマンドライン インターフェイスlogger
です。syslog
logger
ほとんどの UNIX 系システムの標準部分となるはずです。1993 年以来変更されていないようで、クロスプラットフォームの安定性には優れています。このパラメータをコメントアウトすると、 rsnapshot での
syslog
サポートが無効になります。この機能を有効にすることをお勧めします。 -
cmd_du
cmd_du
パラメータはdu
プログラムへのパスを指定します。du
は、ディスク使用量をレポートするコマンドライン ツールです。rsnapshot を使用して、
du
実際に使用されているディスク領域の量に関するレポートを生成します。そうでないと、すべてのハード リンクが原因で推定が困難になります。コメントアウトすると、rsnapshot はパス内で見つかったバージョンを使用しようとします
du
。最適な機能が選択され、ほとんどのオプションがサポートされているdu
ため、このバージョンを推奨します。GNU
BSD バージョンも動作するようですが、
-h
フラグはサポートされていません。Solaris はパラメータdu
をサポートしていないため、まったく動作しません-c
。 -
cmd_rm
cmd_rm
rsnapshot 設定ファイル内のパラメータで、rsnapshot delete
バックアップ ファイルを削除するときに使用するファイル削除ツールを指定します (コマンドなどを使用)。これらのツールには通常rm
、 、gtrsh
、trash-put
(ごみ箱機能と同様) などが含まれます。構成ファイルで使用する削除ツールを指定できます。 -
cmd_rsnapshot-diff
rsnapshot は、
rsync
ハード リンク テクノロジーに基づく増分バックアップ ツールで、ユーザーが定期的にデータをバックアップし、複数のバージョンのバックアップ ファイルを保持するのに役立ちます。各バージョンのバックアップファイルは、前回のバックアップを基に生成された差分ファイルを介して取得されます。cmd_rsnapshot_diff
パラメータは、差分ファイルを生成する際に使用するプログラムまたはコマンドを指定するために使用されます。通常、このパラメータのデフォルト値はdiff
command です。これは、2 つのテキスト ファイルの違いを比較するための GNU ツールです。cmd_rsnapshot_diff
rsnapshot を実行すると、パラメーターで指定されたプログラムを呼び出して、各バージョン間の差分を計算し、対応する差分ファイルを生成します。
バックアップ サイクルとグローバル構成を定義する
87 #########################################
88 # BACKUP LEVELS / INTERVALS #
89 # Must be unique and in ascending order #
90 # e.g. alpha, beta, gamma, etc. #
91 #########################################
92
93 retain alpha 6
94 retain beta 7
95 retain gamma 4
96 #retain delta 3
97
98 ############################################
99 # GLOBAL OPTIONS #
100 # All are optional, with sensible defaults #
101 ############################################
102
103 # Verbose level, 1 through 5.
104 # 1 Quiet Print fatal errors only
105 # 2 Default Print errors and warnings only
106 # 3 Verbose Show equivalent shell commands being executed
107 # 4 Extra Verbose Show extra verbose information
108 # 5 Debug mode Everything
109 #
110 verbose 2
111
112 # Same as "verbose" above, but controls the amount of data sent to the
113 # logfile, if one is being used. The default is 3.
114 #
115 loglevel 3
120 logfile /var/log/rsnapshot
127 lockfile /var/run/rsnapshot.pid
133 #stop_on_stale_lockfile 0
137 #rsync_short_args -a
138 #rsync_long_args --delete --numeric-ids --relative --delete-excluded
142 ssh_args -p 22
148 du_args -csh
177 link_dest 1
178
186 #sync_first 0
187
192 #use_lazy_deletes 0
193
194 # Number of rsync re-tries. If you experience any network problems or
195 # network card issues that tend to cause ssh to fail with errors like
196 # "Corrupted MAC on input", for example, set this to a non-zero value
197 # to have the rsync operation re-tried.
198 #
199 #rsync_numtries 0
-
retain alpha 6
つまり、実行するたびにrsnapshot alpha
新しいスナップショットが作成され、最初の完全バックアップの時点で新しいスナップショットにデータ コピーが記録されます。そして、最後の 6 つのバックアップをRsnapshot ルートディレクトリのalpha.0
、 、… という名前のディレクトリに保存しておくと、次回コマンドを実行するときに、ディレクトリは削除されて再作成されます。alpha.1
alpha.5
alpha.5
「interval」は非推奨の同義語です。
-
グローバルオプション
グローバル オプションでは、行番号と内容に注意してください。ここでは長さの関係で全文を表示せず、構成項目のみを表示します。
-
verbose : 出力の冗長レベルを設定します。
-
loglevel : ログのレベルを設定します。
-
logfile : ログファイルの場所。
-
lockfile : ロックファイルの場所。
-
stop_on_stale_lockfile : デフォルトでは、rsnapshot はロックファイルをチェックし、PID が実行されているかどうかを確認し、実行されていない場合はロックファイルを古いものとして扱い、開始します。このオプションが有効な場合、ロックファイル内の PID が実行されていない場合、rsnapshot は実行を停止します。
-
rsync_short_args :
rsync
送信先の短い引数。 -
rsync_long_args :
rsync
送信先の長い引数。 -
ssh_args :
ssh
送信されるパラメータ。ここでは指定されたポート番号です。 -
du_args :
du
送信する引数。 -
link_dest :
link_dest
このパラメータは既存のバックアップ ディレクトリを指定します。このバックアップを実行すると、rsnapshot は新しく作成されたバックアップ ファイルとこのディレクトリ内の既存のバックアップ ファイルを比較します。バックアップ ファイルがすでに存在し、同一である場合は、新しいコピーを生成する代わりに、ハード リンクを使用してバックアップ ファイルをコピーします。❓パラメータを有効にしたり
link_dest
、ハードリンクを使用したりするのはなぜですか? rsnapshot の設定ファイルでは、パラメータは
デフォルトでnull 値に設定されていますが、まったく有効になっていないわけではなく、 「 」と呼ばれる暗黙的なデフォルト戦略が採用されています。rsnapshot 構成ファイルにパラメータが設定されていない場合、rsnapshot はデフォルトで前日のバックアップ ディレクトリをハード リンク ディレクトリとして使用します。前日のバックアップ ディレクトリが存在しない場合は、最新の既存のバックアップ ディレクトリが使用されます。link_dest
implicit defaulting
link_dest
-
sync_first : このオプションを有効にすると
sync_first
、rsnapshot はファイルを同期する前にファイルの最新バージョンを同期します。これにより、バックアップ データの正確性が保証されます。つまり、ソース ディレクトリに同じ名前のファイルの複数のバージョンがある場合、rsnapshot は最新バージョンのみをバックアップし、新しいデータ コピー (beta1、beta2 など) は作成しません。これを行う利点は、バックアップ データのサイズを削減し、バックアップの保存スペースを節約できることです。また、古いデータをバックアップする必要がないため、バックアップ効率も向上します。有効にした後のバックアップの影響は次のとおりです。
rsnapshot alpha ll -a /rsnapshot_back/ total 16 drwxr-xr-x 3 zhangyu zhangyu 4096 May 5 08:46 ./ drwxr-xr-x 21 root root 4096 May 4 06:40 ../ drwxr-xr-x 3 root root 4096 May 5 08:27 alpha.1/ -rw-rw-r-- 1 zhangyu zhangyu 130 May 4 09:17 back.exclude rsnapshot alpha ll -a /rsnapshot_back/ total 16 drwxr-xr-x 3 zhangyu zhangyu 4096 May 5 08:46 ./ drwxr-xr-x 21 root root 4096 May 4 06:40 ../ drwxr-xr-x 3 root root 4096 May 5 08:27 alpha.2/ -rw-rw-r-- 1 zhangyu zhangyu 130 May 4 09:17 back.exclude
つまり、保持されるディレクトリは 5 つまでですが、バックアップは繰り返し実行されます。
-
use_lazy_deletes :
use_lazy_deletes
これは rsnapshot のオプションであり、その役割は、lazy delete
バックアップを作成するときにモードを有効にするかどうかを指定することです。このモードでは、削除操作ではファイルがディスクからすぐに削除されず、削除保留としてマークされ、実際の削除は次のバックアップで実行されます。これにより、バックアップに必要な時間とディスク使用量が削減されます。 -
rsync_numtries : rsync の再試行に失敗した回数。
-
バックアップディレクトリを定義する
/home
ローカル ディレクトリ,の内容をスナップショットのルートの下のフォルダーにバックアップするように構成し(/etc
自動的に作成されます)、リモート ホストのディレクトリ(ファイルを指定してください)をルートにバックアップするように構成しましたディレクトリ内のスナップショット(バックアップ サーバーのスナップショットのルート下)。/usr/local
localhost
client
hosts
/home
client
知らせ
上記の設定ではフル パス (つまり)
/rsnapbackup/local
を指定しませんでした。バックアップ ディレクトリについては前述したため、ここで Rsnapshot ルート ディレクトリを指定する必要はありません。client/
Root
221 ###############################
222 ### BACKUP POINTS / SCRIPTS ###
223 ###############################
224
225 # LOCALHOST
226 backup /home/ localhost/
227 backup /etc/ localhost/
228 backup /usr/local/ localhost/
237 # EXAMPLE.COM
239 backup root@client:/home/ client/
ここで指定するターゲット パスは、rsync_long_args
パラメータ を介して--relative
(相対パス リンクを作成するという意味の) フラグが渡されるという前提に基づいていることに注意してくださいrsync
。
バックアップを実行する
バックアップ用の rsnapshot コマンド パラメータを以下に示します。
-
rsnapshot 構成テスト
設定ファイルが正しいか確認してください。
rsnapshot configtest Syntax OK
-
rsnapshot -t alpha は、
バックアップが正常に実行できるかどうかを確認します。つまり、実行するコマンドを端末に出力します。rsnapshot -t alpha echo 1776175 > /var/run/rsnapshot.pid mkdir -m 0700 -p /rsnapshot/ mkdir -m 0755 -p /rsnapshot/alpha.0/ /usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded \ /home/ /rsnapshot/alpha.0/localhost/ mkdir -m 0755 -p /rsnapshot/alpha.0/ /usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded \ --rsh=/usr/bin/ssh -p 22 [email protected]:/home/ \ /rsnapshot/alpha.0/client/ touch /rsnapshot/alpha.0/
❓ これはバックアップの原理を導入したもので、何度もバックアップされているものを見つけて、どのようなコマンドが実行されるかを確認できます。
echo 161392 > /var/run/rsnapshot.pid mv /rsnapshot_back/alpha.3/ /rsnapshot_back/alpha.4/ mv /rsnapshot_back/alpha.2/ /rsnapshot_back/alpha.3/ mv /rsnapshot_back/alpha.1/ /rsnapshot_back/alpha.2/ mv /rsnapshot_back/alpha.0/ /rsnapshot_back/alpha.1/ /usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded \ --link-dest=/rsnapshot_back/alpha.1/localhost/ /home/ \ /rsnapshot_back/alpha.0/localhost/
このプロセスは、各ディレクトリの名前を逆方向に変更するものです。つまり、
alpha.0
常に最新のバックアップとなり、数値が大きいほど存在時間が長くなります。また、バックアップ プロセス中に、ハード リンクを使用して同じファイルが同じファイルalpha.0
にalpha.1
同期されます。
したがって、最新バージョンのデータを取得する必要がある場合は、 のalpha.0
内容を確認できます。ただし、過去のバックアップのすべてのバージョンが に保存されているため、以前にバックアップしたデータを比較または復元する必要がある場合は、 のalpha.1
ファイルを使用する必要があることに注意してくださいalpha.1
。 -
あなたをスナップショットします
スナップショット ルートのディスク使用量を表示します。スナップショット間を比較するためのオプションのターゲット パスを受け入れることができます (たとえば、
localhost/home/user/foo
)。rsnapshot du 7.0G /rsnapshot/alpha.0/ 7.0G total
du -hc --max-depth=2 /rsnapshot/alpha.* 6.9G /rsnapshot/alpha.0/client/home 6.9G /rsnapshot/alpha.0/client 67M /rsnapshot/alpha.0/localhost/home 67M /rsnapshot/alpha.0/localhost 7.0G /rsnapshot/alpha.0
-
RSスナップショットの差分
rsnapshot-diff
これはプログラムのフロントエンド インターフェイスです。ファイルシステムのパスまたはスナップショットのルートにあるバックアップ ディレクトリの 2 つのオプションの引数を受け入れることができます。デフォルトでは、最新の 2 つのスナップショットが比較されます。rsnapshot diff alpha.0 alpha.3 Comparing /rsnapshot/alpha.3 to /rsnapshot/alpha.0 Between /rsnapshot/alpha.3 and /rsnapshot/alpha.0: 112 were added, taking 7393165017 bytes 0 were removed, saving 0 bytes
-
RSスナップショット同期
ローテーションを行わずにファイルを同期します。正しく動作するには「
sync_first
」を有効にする必要があります。完全バックアップ ポイントの宛先がオプションの引数で指定された場合、それらのファイルのみが同期されます。コマンドの実行時にディレクトリを指定する必要があります。これが同期ディレクトリです。
要約する
この記事では、バックアップ ディレクトリの定義やバックアップを実行するためのコマンド パラメータなど、Rsnapshot スナップショット バックアップの基本を紹介します。link_dest
これらには、 や などのオプションsync_first
と、configtest
、du
、diff
などのコマンド引数が含まれますsync
。さらに、バックアップの原理とバックアップ データのディスク使用量を表示する方法についても紹介します。
参照文書
Linux運用保守エンジニアが知っておくべきサーバーバックアップツール「Rsnapshot」 - プログラマーが求めた
rsnapshot、Linux 用のローカル リモート ファイルシステム バックアップ ユーティリティ