重複を伴う増分および暗号化バックアップの作成

概観

Vultrにはシステムイメージ全体のバックアップシステムがありますが、これはブロックレベルで機能し、データを復元する前にVMにバックアップを復元する必要があります。さらに、バックアップは短時間のみ保存され、真の増分バックアップソリューションを提供しません。

Enter Duplicity-Duplicityは、伝説のrsyncに基づいて構築されており、GPGを介して保存データを暗号化するとともに、増分バックアップを保存する機能を提供します。これはPosixに準拠しており、バックアップの実行間でのみデルタを転送するため、全体的な帯域幅要件が軽減されます。

環境のセットアップ

用語

  • ソースホスト-データがバックアップされるサーバー。���のチュートリアルでは、IPアドレスは10.1.10.1です。
  • バックアップホスト-バックアップの宛先サーバー。このチュートリアルでは、IPアドレスは10.1.10.2です。
  • / backupdir-このチュートリアルのバックアップに使用されるソースホストのソースディレクトリ。これを環境に合わせて変更できます。
  • / destdir-このチュートリアルのバックアップに使用されるバックアップホスト上の宛先ディレクトリ。これを環境に合わせて変更できます。
  • 完全バックアップ-ソースデータセットの完全なコピー。
  • 増分バックアップ-最後のバックアップ以降に行われたすべての変更のコピー。

Duplicityのインストール

Ubuntu 14.04:
sudo apt-get update
sudo apt-get install duplicity python-paramiko
CentOS(EPELが必要):
sudo yum install duplicity python-paramiko
Ubuntu 12.04 / Debian 7:
sudo apt-get update 
sudo apt-get install ncftp python-paramiko python-pycryptopp lftp python-boto python-dev librsync-dev
wget https://launchpad.net/duplicity/0.7-series/0.7.02/+download/duplicity-0.7.02.tar.gz
tar xzvf duplicity*
cd duplicity*
sudo python setup.py install

Debian 7およびUbuntu 12.04内のDuplicityパッケージがバックエンドSSHライブラリの変更により壊れているため、ソースからインストールする必要があります。

以下を実行して、Duplicityがインストールされていることを再確認します。

duplicity -v

次の出力が返されます(バージョンは異なる場合があります)。

duplicity 0.6.18

SSHのキーレス認証のセットアップ

次のステップは、バックアップホストとソースホスト間のSSHの証明書ベースの認証をセットアップすることです。これにより、ソースサーバーはパスフレーズを入力せずにバックアップホストにSSH接続できます。Vultrは、これを実行する方法について説明素晴らしい記事があります:どのように私は、SSH鍵を生成します

バックアップ

最初の(完全)バックアップを実行する

完全バックアップを実行してみましょう!これにより、データの完全なコピーがソースサーバーから宛先に送信されます。

duplicity full -v --no-encryption --include="/sourcedir/" --exclude="**" /  ssh://user@backupserver:22/destdir/

複数の--include="[dir]"ステートメントを含めることで、フォルダーを追加できます。

--no-encryptionデータが宛先に暗号化しないことを指定します。SSHトンネルを通過するデータは、転送中に暗号化されます。

この--exclude="**" /オプションは、インクルードリストだけにあるすべてのものをバックアップするためのトリックです(他には何もありません)。

増分バックアップの実行

増分バックアップの実行は非常に簡単です。fullフラグをフラグに変更するだけincrementalです。

duplicity incremental -v --no-encryption --include="/sourcedir/" --exclude="**" /  ssh://user@backupserver:22/destdir/

オートメーション

自動スクリプトを書く

バックアップが必要になるたびにこれらのコマンドを実行しなければならないのは面倒です。それを処理するスクリプトがあるとしたらどうでしょう。

完全バックアップスクリプト

コマンドを実行します。

nano /usr/local/bin/backup-full

次のコンテンツを追加します。

#!/bin/bash
duplicity full -v --no-encryption --include="/sourcedir/" --exclude="**" /  ssh://user@backupserver:22/destdir/
増分バックアップスクリプト
nano /usr/local/bin/backup-incremental

次のコンテンツを追加します。

#!/bin/bash
duplicity incremental -v --no-encryption --include="/sourcedir/" --exclude="**" /  ssh://user@backupserver:22/destdir/
スクリプトを実行可能にする

スクリプトを実行可能にするには、次のコマンドを実行します。

chmod +x /usr/local/bin/backup-*

今、あなたが実行してバックアップを実行することができますbackup-fullし、backup-incrementalシェルから。かなりクール!

セットアップcron

バックアップを自動化しましょう!上記のスクリプトを指定した時間に実行するようにcronを設定することにより、バックアップが定期的に実行されることを確認できます。

次のコマンドを実行します。

crontab -e

以下をファイルの最後に追加します。

10 01 * * 1,2,3,4,5,6 backup-incremental
10 01 * * 7 backup-full

これにより、毎週日曜日の午前1時10分に完全バックアップが実行され、1日おきの午前1時10分に増分バックアップも実行されます。

復元

ゴジラはシアトルを破壊したので、ニューヨークのバックアップVPSからデータを取り戻す必要があります。

duplicity --no-encryption --file-to-restore / ssh://user@backupserver:22/destdir/

3日前のデータを復元する必要がある場合:

duplicity --no-encryption -t 3D --file-to-restore / ssh://user@backupserver:22/destdir/

-t 3Dオプション手段は、3日前からバックアップを復元します。-t 1M(1か月前)または-t 5H(5時間前)などの同様のオプションも機能します。



Leave a Comment

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartは、PHP、jQuery、およびHTML 5で記述された無料のオープンソースのショッピングカートプラットフォームです。シンプルで軽量、使いやすいeコマースソフトウォー

DebianでNFS共有をセットアップする

DebianでNFS共有をセットアップする

NFSはネットワークベースのファイルシステムであり、コンピューターはコンピューターネットワークを介してファイルにアクセスできます。このガイドでは、NFを介してフォルダーを公開する方法について説明します

Fedora 28にMatomo Analyticsをインストールする方法

Fedora 28にMatomo Analyticsをインストールする方法

別のシステムを使用していますか?Matomo(旧Piwik)は、Google Analyticsのオープンな代替手段であるオープンソースの分析プラットフォームです。Matomoのソースはoでホストされています

Ubuntu 14.10へのMcMyAdminのインストール

Ubuntu 14.10へのMcMyAdminのインストール

McMyAdminは、サーバーの管理に使用されるMinecraftサーバーコントロールパネルです。McMyAdminは無料ですが、複数のエディションがあり、一部はパイです

LinuxでTeamTalk Serverをセットアップする

LinuxでTeamTalk Serverをセットアップする

TeamTalkは、ユーザーが高品質のオーディオ/ビデオ会話、テキストチャット、ファイルの転送、および画面の共有を可能にする会議システムです。それは

CentOS 7サーバーにCyber​​Panelをインストールして構成する方法

CentOS 7サーバーにCyber​​Panelをインストールして構成する方法

別のシステムを使用していますか?はじめにCyber​​Panelは、オープンソースでありOpenLiteSpeedを使用する市場で最初のコントロールパネルの1つです。なんてこった

Ubuntu 17.04でRbenv、Rails、MariaDB、Nginx、SSL、およびPassengerを使用してRubyをインストールおよび構成する方法

Ubuntu 17.04でRbenv、Rails、MariaDB、Nginx、SSL、およびPassengerを使用してRubyをインストールおよび構成する方法

Ruby on Railsは、プログラマーの生産性を向上させるために開発されたRubyの人気のあるWebフレームワークです。ただし、さまざまな宝石と依存関係を取得する

Vultr VPSにアクセスする方法

Vultr VPSにアクセスする方法

Vultrは、VPSにアクセスして構成、インストール、および使用するためのいくつかの異なる方法を提供します。アクセス認証情報VPS arのデフォルトのアクセス認証情報

CentOS 7、Ubuntu 16.04、Debian 9にGolang 1.8.3をインストールする方法

CentOS 7、Ubuntu 16.04、Debian 9にGolang 1.8.3をインストールする方法

GolangはGoogleが開発したプログラミング言語です。汎用性、シンプルさ、信頼性のおかげで、Golangは最も人気のあるものの1つになりました

Debian、CentOS、およびFreeBSDでSudoを使用する方法

Debian、CentOS、およびFreeBSDでSudoを使用する方法

LinuxおよびUnixのシステム管理者の間では、sudoユーザーを使用してサーバーにアクセスし、コマンドをルートレベルで実行することは非常に一般的です。sudの使用

Ubuntu 16.04 LTSにDokuWikiをインストールする方法

Ubuntu 16.04 LTSにDokuWikiをインストールする方法

別のシステムを使用していますか?DokuWikiは、データベースを必要としないPHPで記述されたオープンソースのWikiプログラムです。データをテキストファイルに保存します。ドクウィク

DebianでのChrootのセットアップ

DebianでのChrootのセットアップ

この記事では、Debianでchroot jailをセットアップする方法を説明します。私はあなたがDebian 7.xを使っていると思います。Debian 6または8を実行している場合、これは機能する可能性があります、bu

DebianにPiVPNをインストールする方法

DebianにPiVPNをインストールする方法

はじめにDebianでVPNサーバーを設定する簡単な方法は、PiVPNを使用することです。PiVPNは、OpenVPNのインストーラーおよびラッパーです。それはあなたのための簡単なコマンドを作成します

Ubuntu 18.04 LTSにCyber​​Panelをインストールして構成する方法

Ubuntu 18.04 LTSにCyber​​Panelをインストールして構成する方法

別のシステムを使用していますか?はじめにCyber​​Panelは、オープンソースでありOpenLiteSpeedを使用する市場で最初のコントロールパネルの1つです。なんてこった

Ubuntu 16.04 LAMP VPSにBigTree CMSをインストールする方法

Ubuntu 16.04 LAMP VPSにBigTree CMSをインストールする方法

別のシステムを使用していますか?BigTree CMS 4.2は、高速で軽量な無料のオープンソースのエンタープライズグレードのコンテンツ管理システム(CMS)であり、

Debian 9でソースからBrotliをビルドする方法

Debian 9でソースからBrotliをビルドする方法

別のシステムを使用していますか?Brotliは、Gzipよりも圧縮率が高い新しい圧縮方法です。そのソースコードはGithubで公開されています。ティ

PleskサーバーでHTTP / 2を有効にする方法

PleskサーバーでHTTP / 2を有効にする方法

PleskはネイティブのHTTP / 2サポートを備えています。PleskでのHTTP / 2のロールアウトは、他のコンポーネントに比べてはるかに簡単ですが、その導入プロセスには慎重な計画が必要です

FreeBSD 12にosTicketをインストールする方法

FreeBSD 12にosTicketをインストールする方法

別のシステムを使用していますか?osTicketは、オープンソースのカスタマーサポートチケットシステムです。osTicketのソースコードはGithubで公開されています。このチュートリアルでは

CentOS 7にApacheをインストールする方法

CentOS 7にApacheをインストールする方法

CentOS 7サーバーにApache 2.4をインストールする方法を説明します。安定したウェブサーバーを構築するための前提条件と手順を解説します。

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1にBlacklistdをインストールする方法

FreeBSD 11.1におけるBlacklistdのインストール方法について詳しく解説します。この方法を通じて、強力なセキュリティ対策を実装できます。

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

Windows Serverのサーバーマネージャーを使用した複数サーバーの管理

サーバーマネージャーを使用して、Windows Serverの管理が向上します。セキュリティリスクを軽減し、効率的な管理を実現します。

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法

CentOS 7にSeafileサーバーをインストールする方法。Seafile(コミュニティバージョン)は、ownCloudに似た無料のオープンソースファイル同期および共有ソリューションです。

DebianでSnortを設定する方法

DebianでSnortを設定する方法

Snortは無料のネットワーク侵入検知システムです。最新の方法で、SnortをDebianにインストールし、設定する手順を紹介します。ネットワークのセキュリティを強化しましょう。

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールする方法

CentOS 7にGraylogサーバーをインストールし、ログ管理を行う方法を学びます。

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsでhMailServerを使用してメールサーバーを構築する

WindowsサーバーでWebサイトを実行している場合、電子メールも受信できるようにするためにhMailServerを使用する方法を解説します。

Ubuntu 19.04にFiveMサーバーをインストールする方法

Ubuntu 19.04にFiveMサーバーをインストールする方法

FiveMサーバーをUbuntu 19.04にインストールするための詳細なガイド。必要条件からインストール、起動、トラブルシューティングまで、すべてのステップを含みます。

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

WsgiDAVを使用してDebian 10にWebDAVをデプロイする

Debian 10にWebDAVをデプロイする方法を学び、WsgiDAVとSSL証明書で安全な接続を実現しましょう。

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。