序章


Linuxコマンドラインを学習するときによくある警告は、「元に戻す」コマンドがないことです。 これは、rmコマンドを使用してファイルを削除する場合などに特に関係がありますが、あらゆる種類の状況に影響します。

このガイドでは、コマンドラインで行われた変更を「元に戻す」ためのいくつかの方法について説明します。 単一の戦略はありません。そのため、関連するプログラムと手法は、何を防ごうとしているのかによって異なります。 いくつかの明白なアイデアから始めて、前進します。

これらはUbuntu12.04システムに実装しますが、ほとんどのLinuxディストリビューションとバージョンは、ほとんど調整することなく提案を実装できるはずです。

ファイルの変更を元に戻す


誤って変更された(または削除された)ファイルを復元する唯一の方法の1つは、そのファイルの余分なコピーを手元に用意することです。 そのオプションがあることを確認するいくつかの方法について説明します。

バックアップ


もちろん、サーバーで行われた変更を元に戻すことができる最も簡単で安全な方法は、重要なファイルに対して定期的な定期バックアップを実行することです。

Linuxシステムで利用できるバックアッププログラムは多数あります。 バックアップのインストールと構成の方法に関するガイドは、こちらにあります。 ツール間の違いを調べて、ニーズに最適なツールを見つけることが重要です。 同様に重要なのは、バックアップを定期的に検証して、バックアップが実行したいことを実行していることを確認することです。

バックアップは、サーバーへの損傷を復元するための非常に完全な方法を提供します。 コピーされたデータがリモートの場所に保持されている限り、データ全体の破損または削除を処理できます。

さまざまなレベルのバックアップには、完全バックアップ(すべてのデータを完全にバックアップ)、差分バックアップ(最後の完全バックアップ以降に変更されたすべてのファイルをバックアップ)、および増分バックアップ(最後の完全バックアップまたは差分バックアップ以降にファイル内のデータ変更をバックアップ)が含まれます。 。

これらのレベルの組み合わせは、毎回完全バックアップを実行するオーバーヘッドなしにファイルを完全にバックアップするために、互いに連携して使用されることがよくあります。

多くの場合、ファイルシステム全体を復元しなくても、個々のファイルを復元できます。 これは、誤ってファイルを削除または変更した場合に特に便利です。

DigitalOceanは、サーバー全体を定期的に自動的にバックアップするバックアッププランを提供します。 ページの下部にあるチェックボックスをオンにすることで、ドロップレットを作成するときにこれを有効にできます。

バージョン管理


バックアップにいくぶん似ている戦略はバージョン管理です。 コンピュータ全体をバックアップするための理想的なソリューションではありませんが、単にファイルを以前の状態に戻そうとしている場合は、バージョン管理がまさにあなたが探しているものである可能性があります。

gitmercurialなどのバージョン管理システムを使用すると、ファイルへの変更を追跡できます。 つまり、/etcなどの構成ディレクトリをバージョン管理下に置くと、何かを壊すような変更を加えた場合に、変更を簡単に元に戻すことができます。

サーバーでgitを使用する方法をカバーする記事がかなりあります。

簡単に言うと、次のコマンドを使用してGitをUbuntuにインストールできます。

sudo apt-get update
sudo apt-get install git

インストールが完了したら、次のように入力して、いくつかの構成オプションを設定する必要があります。

 git config --global  user.nameyour_name 」gitconfig--globaluser.email「 your_email

これが完了したら、変更を追跡するディレクトリに変更します。 この例では、/etcディレクトリを使用します。 バージョン管理下に置くもう1つの良い場所は、ホームディレクトリです。 次のように入力して、gitリポジトリを初期化できます。

cd /etc
sudo git init

次に、次のように入力して、このディレクトリ(およびサブディレクトリ)内のすべてのファイルを追加できます。

sudo git add .

次のように入力して、変更をコミットします。

git commit -m "Initial commit"

これで、ファイルはバージョン管理下に置かれます。 このディレクトリ内のファイルに変更を加えるときは、最後の2つのコマンドを再実行する必要があります(「初期コミット」の代わりに別のメッセージを使用)。

次に、ログからコミットハッシュを見つけることにより、ファイルを以前の状態に戻すことができます。

git log

コミット7aca1cf3b5b19c6d37b4ddc6860945e8c644cd4f作成者:root  root @ localhost 日付:2014年1月23日木曜日13:28:25 -0500

again

コミット4be26a199fd9691dc567412a470d446507885966作成者:root root @ localhost 日付:2014年1月23日木曜日13:20:38 -0500

initial commit