GNU/Linux >> Linux の 問題 >  >> Linux

CYA –Linux用のシステムスナップショットおよび復元ユーティリティ

CYA Cの略です Y以上 私たちのA ssetsは、BASHシェルを使用するUnixライクなオペレーティングシステム用の無料のオープンソースシステムスナップショットおよび復元ユーティリティです。 Cyaは移植性があり、EXT2 / 3/4、XFS、UFS、GPFS、reiserFS、JFS、BtrFS、ZFSなどの多くの一般的なファイルシステムをサポートします。Cyaは実際のユーザーデータをバックアップしないことに注意してください 。オペレーティングシステム自体をバックアップおよび復元するだけです。 Cyaは実際にはシステムの復元ユーティリティです 。デフォルトでは、/ bin /、/ lib /、/ usr /、/var/などのすべての主要なディレクトリをバックアップします。ただし、バックアップに含める独自のディレクトリとファイルパスを定義できるため、Cyaはそれらも取得します。また、バックアップからスキップするいくつかのディレクトリ/ファイルを定義することも可能です。たとえば、ファイルをログに記録しない場合は、/ var /logs/をスキップできます。 Cyaは実際にRsyncを使用しています 内部のバックアップ方法。ただし、ローリングバックアップを作成する場合、CyaはRsyncよりも少し簡単です。

オペレーティングシステムを復元するとき、Cyaは以前に作成したバックアッププロファイルを使用してOSをロールバックします。システム全体または特定のディレクトリのみを復元できます。また、ターミナルまたはファイルマネージャを使用して、完全なロールバックがなくても、バックアップファイルに簡単にアクセスできます。もう1つの注目すべき機能は、ライブCD、USB、またはネットワークイメージから復元するときに、システムパーティションのマウントを自動化するカスタムリカバリスクリプトを生成できることです。一言で言えば、CYAは、ソフトウェアの更新、構成の変更、侵入/ハッキングなどによってシステムが壊れた場合に、システムを以前の状態に復元するのに役立ちます。

CYAのインストール

CYAのインストールは簡単です。 Cyaバイナリをダウンロードして、システムパスに配置するだけです。

$ git clone https://github.com/cleverwise/cya.git

これにより、現在の作業ディレクトリのcyaというディレクトリに最新のcyaバージョンが複製されます。

次に、cyaバイナリをパスまたは任意の場所にコピーします。

$ sudo cp cya/cya /usr/local/bin/

とても簡単です。 CYAがインストールされました!それでは、スナップショットを作成しましょう。

スナップショットの作成

スナップショット/バックアップを作成する前に、リカバリスクリプトを作成します コマンドの使用:

$ cya script
☀ Cover Your Ass(ets) v2.2 ☀

ACTION ⯮ Generating Recovery Script

Generating Linux recovery script ... 
Checking sudo permissions...
Complete

IMPORTANT: This script will ONLY mount / and /home. Thus if you are storing data on another mount point open the recovery.sh script and add the additional mount point command where necessary. This is also a best guess and should be tested before an emergency to verify it works as desired.


‣ Disclaimer: CYA offers zero guarantees as improper usage can cause undesired results
‣ Notice: Proper usage can correct unauthorized changes to system from attacks
>

上記のコマンドは、 "/ home / cya /"という名前のディレクトリを作成します そして、recovery.shファイルをその中に保存します。

$ ls /home/cya/
cya cya.conf LAST_RUN points recovery.sh

結果のrecovery.shを保存します 後でバックアップを復元するときに使用するUSB​​ドライブ内のファイル。このスクリプトは、chrootされた環境をセットアップし、システムをロールバックするときにドライブをマウントするのに役立ちます。

それでは、スナップショットを作成しましょう。

標準のローリングバックアップを作成するには、次を実行します。

$ cya save

上記のコマンドは、3つのバックアップを保持します 上書きする前に。

出力例:

☀ Cover Your Ass(ets) v2.2 ☀

ACTION ⯮ Standard Backup

Checking sudo permissions...
[sudo] password for sk: 
We need to create /home/cya/points/1 ... done
Backing up /bin/ ... complete
Backing up /boot/ ... complete
Backing up /etc/ ... complete
.
.
.
Backing up /lib/ ... complete
Backing up /lib64/ ... complete
Backing up /opt/ ... complete
Backing up /root/ ... complete
Backing up /sbin/ ... complete
Backing up /snap/ ... complete
Backing up /usr/ ... complete
Backing up /initrd.img ... complete
Backing up /initrd.img.old ... complete
Backing up /vmlinuz ... complete
Backing up /vmlinuz.old ... complete
Write out date file ... complete
Update rotation file ... complete

‣ Disclaimer: CYA offers zero guarantees as improper usage can cause undesired results
‣ Notice: Proper usage can correct unauthorized changes to system from attacks

新しく作成されたスナップショットの内容は、 / home / cya / points /で確認できます。 場所。

$ ls /home/cya/points/1/
bin cya-date initrd.img lib opt sbin usr vmlinuz
boot etc initrd.img.old lib64 root snap var vmlinuz.old

上書きされないカスタム名でバックアップを作成するには、次のコマンドを実行します。

$ cya keep name BACKUP_NAME

BACKUP_NAMEを置き換えます 自分の名前で。

上書きするカスタム名でバックアップを作成するには、次の手順を実行します。

$ cya keep name BACKUP_NAME overwrite

バックアップを作成してアーカイブするには、次のコマンドを実行します。

$ cya keep name BACKUP_NAME archive

このコマンドは、バックアップを / home / cya / archivesに保存します 場所。

デフォルトでは、CYAはその構成を / home / cya /に保存します ディレクトリとカスタム名のスナップショットは/home / cya / points / BACKUP_NAMEに保存されます 位置。これらの設定を変更するには、 /home/cya/cya.confに保存されているCYA構成ファイルを編集します。 。

すでに述べたように、CYAはデフォルトでユーザーデータをバックアップしません 。重要なシステムファイルのみをバックアップします。ただし、システムファイルと一緒に独自のディレクトリまたはファイルを含めることができます。たとえば、 / home / sk / Downloadsという名前のディレクトリを追加したい場合を考えてみましょう。 バックアップのディレクトリで、/home/cya/cya.confを編集します ファイル:

$ vi /home/cya/cya.conf

以下のように、バックアップに含めるディレクトリデータパスを定義します。

MYDATA_mybackup="/home/sk/Downloads/ /mnt/backup/sk/"

ソースディレクトリと宛先ディレクトリの両方が末尾のスラッシュで終わる必要があることに注意してください。上記の構成に従って、CYAは / home / sk / Downloads /のすべてのコンテンツをコピーします ディレクトリを作成し、 / mnt / backup / sk /に保存します (すでにこれを作成していると仮定します)ディレクトリ。ここでmybackup プロファイル名です。 ESCを押す :wqと入力します ファイルを保存して閉じます。

次に、/ home / sk /Downloads/ディレクトリの内容をバックアップします。そのためには、 cya mydata を使用してプロファイル名(私の場合はmybackup)を入力する必要があります。 以下のようなコマンド:

$ cya mydata mybackup

同様に、異なるプロファイル名を持つ複数のユーザーデータを含めることができます。すべてのプロファイル名は一意である必要があります。

ディレクトリを除外する

すべてのシステムファイルをバックアップしたくない場合があります。ログファイルなどの重要でないものを除外することをお勧めします。たとえば、 / var / tmp /を含めたくない場合 および/var / logs / ディレクトリについては、 /home/cya/cya.confに以下を追加してください ファイル。

EXCLUDE_/var/=”tmp/ logs/”

同様に、バックアップから除外するすべてのディレクトリを1つずつ指定できます。完了したら、ファイルを保存して閉じます。

バックアップに特定のファイルを追加する

ディレクトリ全体のバックアップを作成する代わりに、ディレクトリから特定のファイルを含めることができます。これを行うには、 /home/cya/cya.confにファイルのパスを1つずつ追加します。 ファイル。

BACKUP_FILES="/home/sk/Downloads/ostechnix.txt"

システムを復元する

覚えておいてください。recovery.shという名前のリカバリスクリプトをすでに作成しています。 USBドライブに保存しましたか?壊れたシステムを復元するために、今すぐ必要になります。

ライブ起動可能なCD/DVD、USBドライブを使用してシステムを起動します。 CYAの開発者は、インストールされている環境と同じメジャーバージョンのライブブート環境を使用することをお勧めします。たとえば、Ubuntu 18.04システムを使用している場合は、Ubuntu18.04ライブメディアを使用します。

ライブシステムに入ったら、recovery.shスクリプトを含むUSBドライブをマウントします。ドライブをマウントすると、システムの / および/home / mnt / cyaにマウントされます ディレクトリ。これは非常に簡単で、 recovery.shによって自動的に処理されます。 Linuxユーザー向けのスクリプト。

次に、次のコマンドを使用して復元プロセスを開始します。

$ sudo /mnt/cya/home/cya/cya restore

画面の指示に従ってください。復元が完了したら、ライブメディアを取り外してドライブをアンマウントし、最後にシステムを再起動します。

リカバリスクリプトがないか紛失した場合はどうなりますか?問題ありません。壊れたシステムを復元できます。

ライブメディアを起動します。ライブセッションから、ドライブをマウントするためのディレクトリを作成します。

$ sudo mkdir -p /mnt/cya

次に、 /をマウントします および/home (別のパーティションにある場合) / mnt / cyaに ディレクトリ。

$ sudo mount /dev/sda1 /mnt/cya
$ sudo mount /dev/sda3 /mnt/cya/home

/ dev/sda1と/dev/ sda3を正しいパーティションに置き換えます( fdisk -l <​​/ strong>を使用します) パーティションを検索するコマンド)。

最後に、次のコマンドを使用して復元プロセスを開始します。

$ sudo /mnt/cya/home/cya/cya restore

リカバリが完了したら、マウントされているすべてのパーティションをアンマウントし、インストールメディアを削除して、システムを再起動します。

この段階で、システムが機能する可能性があります。 Ubuntu18.04LTSサーバーでいくつかの重要なライブラリを削除しました。 CYAユーティリティを使用して正常に動作状態に復元しました。

おすすめの記事:

  • システムバック–Ubuntuデスクトップとサーバーを以前の状態に復元します
  • Ubuntuでパッケージをダウングレードする方法
  • ArchLinuxでパッケージをダウングレードする方法
  • ArchLinuxですべてのパッケージを特定の日付にダウングレードする方法
  • 壊れたArchLinuxを以前の動作状態に復元する方法
  • Ubuntuを工場出荷時のデフォルトにリセットする方法

CYAバックアップのスケジュール

crontabを使用して、CYAスナップショットプロセスを定期的にスケジュールすることを常にお勧めします。 rootを使用してcronジョブを設定するか、sudoパスワードを入力する必要のないユーザーを設定できます。

以下のエントリ例は、毎週月曜日の午前2時5分にcyaを実行し、出力を/ dev/nullにダンプします。

5 2 * * 1 /home/USER/bin/cya save >/dev/null 2>&1

結論

Systembackや他のシステムの復元ユーティリティとは異なり、Cyaはディストリビューション固有の復元ユーティリティではありません。 BASHを使用する多くのLinuxオペレーティングシステムをサポートします。それはあなたの兵器庫になくてはならないアプリケーションの1つです。すぐにインストールして、スナップショットを作成します。 Linuxシステムを誤ってクラッシュさせても後悔することはありません。


Linux
  1. 新しくインストールしたLinuxシステムでMackupを使用してアプリケーション設定をバックアップおよび復元する方法

  2. Linuxシステム管理者向けのトレーニングと認定

  3. 信頼性の高いLinuxシステム自動化のための8つのヒント

  1. Ubuntu – Linux用の簡単なシステムとファイルのバックアップ/復元?

  2. 初心者と経験者の両方に必須の Linux システム管理本 10 冊

  3. ARM システム コールのインターフェイスは何ですか? また、Linux カーネルのどこで定義されていますか?

  1. タイムシフトを使用してLinuxシステム設定をバックアップおよび復元する方法

  2. ヒットマンLinuxとMacの完全なファーストシーズンが利用可能になりました

  3. LVM スナップショット:Linux での LVM パーティションのバックアップと復元