[Linux] Rsnapshot スナップショット バックアップ

[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 は、rsyncLinux および 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

少なくとも: perlrsync

オプション: sshloggerGNU cpGNU du

ソースのインストール

ダウンロードアドレス: https://github.com/rsnapshot/rsnapshot/releases

  1. ソース パッケージを解凍し、ソース ディレクトリに切り替えます。

    tar -xzvf rsnapshot-1.4.5.tar.gz
    cd rsnapshot-1.4.5
    

    この記事では最新バージョンをインストールします。

  2. 構成スクリプトを実行します。

    デフォルトでは、インストール プロセスでは、/usr/localすべてのファイルが にインストールされます。設定ファイル/etcを に。

    rsyncsshloggerおよび がすべて環境変数に含まれていることを前提としていますdu。そうでない場合は、次の設定スクリプト パラメータを追加できます。

    ./configure --with-perl=/usr/bin/perl --with-rsync=/usr/bin/rsync
    

    --with-program=/path/to/programこれらのプログラムへのパスを指定するには、従来の構文を使用します。

    もちろん、上記の懸念がない場合は、構成スクリプトを直接実行できます。rsnapshot が依存するさまざまな外部プログラムの場所を見つけます。また、 も生成されますMakefile構成スクリプトは、プログラムをインストールする場所とサポートするプログラムを見つける場所を指示するために使用できる引数を受け入れます。このインストールの場合、必要な唯一のデフォルト以外のオプションは、構成ファイルを/etcディレクトリに置くことです。

    ./configure --sysconfdir=/etc
    
  3. インストーラ。

    前の操作を行った場合は、 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。これは、ほとんどの人が知っているものとはまったく異なりますrsyncIRIX機械を使用している場合は、再確認する必要があります。

  • 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_rmrsnapshot 設定ファイル内のパラメータで、rsnapshot deleteバックアップ ファイルを削除するときに使用するファイル削除ツールを指定します (コマンドなどを使用)。これらのツールには通常rm、 、gtrshtrash-put(ごみ箱機能と同様) などが含まれます。構成ファイルで使用する削除ツールを指定できます。

  • cmd_rsnapshot-diff

    rsnapshot は、rsyncハード リンク テクノロジーに基づく増分バックアップ ツールで、ユーザーが定期的にデータをバックアップし、複数のバージョンのバックアップ ファイルを保持するのに役立ちます。各バージョンのバックアップファイルは、前回のバックアップを基に生成された差分ファイルを介して取得されます。

    cmd_rsnapshot_diffパラメータは、差分ファイルを生成する際に使用するプログラムまたはコマンドを指定するために使用されます。通常、このパラメータのデフォルト値はdiffcommand です。これは、2 つのテキスト ファイルの違いを比較するための GNU ツールです。cmd_rsnapshot_diffrsnapshot を実行すると、パラメーターで指定されたプログラムを呼び出して、各バージョン間の差分を計算し、対応する差分ファイルを生成します。

バックアップ サイクルとグローバル構成を定義する

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.1alpha.5alpha.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_destimplicit 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/locallocalhostclienthosts/homeclient

知らせ

上記の設定ではフル パス (つまり)/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.0alpha.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と、configtestdudiffなどのコマンド引数が含まれますsyncさらに、バックアップの原理とバックアップ データのディスク使用量を表示する方法についても紹介します。

参照文書

Linux運用保守エンジニアが知っておくべきサーバーバックアップツール「Rsnapshot」 - プログラマーが求めた

rsnapshot、Linux 用のローカル リモート ファイルシステム バックアップ ユーティリティ

https://github.com/rsnapshot/rsnapshot

スナップショット | スナップショット

おすすめ

転載: blog.csdn.net/weixin_43645454/article/details/130522769