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

Debian10でファイルとフォルダをバックアップする方法

ITの世界では、ディスク障害が発生した場合や誤って削除された場合に必要なときにデータを利用するために、データのコピーを可能な限り保持することが重要です。したがって、1日の終わりに定期的にバックアップを取ることは、責任あるコンピュータユーザーの良い習慣です。

「rsync」コマンドは通常、大きなデータをコピーするために使用されます。ただし、「cp」コマンドは、ローカルマシンに少数のディレクトリとファイルをコピーする場合にも使用されます。

この記事では、Debian10でファイルとフォルダをバックアップする方法を学びます。

前提条件

このチュートリアルを機能させるには、次のものが必要です。

1.root権限を持つ2台のDebian10マシン

cpコマンドでディレクトリをバックアップする

ここで説明する最初のコマンドは「cp」です。これは、ローカルマシン上の少数のファイルとフォルダをコピーするために使用されます。したがって、実際には業界では使用されていません。

「cp」コマンドの構文は次のとおりです。

cp-option1-option2ソース宛先

理解のために、ファイルをDesktop/logからKarim/logrotにコピーします。ターミナルで次のコマンドを実行します。

cp -avr Desktop/log Karim/logro

a:ファイルモード、所有権、タイムスタンプなどのディレクトリ属性を保持するために使用されます。

r:メインディレクトリ内にあるディレクトリを再帰的にコピーするために使用されます

v:出力を詳細化するために使用されます

以下は出力例です。

すべてのファイル、ディレクトリ、およびサブディレクトリを別のディレクトリにコピーする場合は、*ワイルドカードを使用できます。たとえば、次のコマンドは、既存のディレクトリDesktop /log/からKarim/logro/にすべてのデータをコピーします。

cp -avr Desktop/log/* Karim/logro/

以下は出力例です。

rysncを使用してディレクトリをバックアップする

すでに述べたように、ファイルとフォルダをバックアップするために最も広く使用されているコマンドは「rsync」です。したがって、それが何であり、どのように使用されるかについて話し合いましょう。

rysncとは何ですか?

Rsyncはリモート同期の略で、1996年6月19日にAndrewTridgellとPaulMackerrasによって作成されました。これは、ローカルマシンとネットワークマシン間のファイル同期と転送のための効率的なコマンドです。ほとんどのシステムでデフォルトで使用できます。ただし、使用できない場合は、次の簡単なコマンドを使用してインストールできます(root権限でコマンドを実行します)。

apt-get update
apt-get install rsync

また、データを同期する前に、両方のネットワークマシンにsshクライアントとサーバーをインストールする必要があります。両方のDebian1oマシンでroot権限を使用して次のコマンドを実行します。

apt-get install ssh

ローカルマシンのディレクトリをバックアップする

ローカルマシンでファイルを同期するときの基本的な構文は次のとおりです。

rsyncオプションsource-directorydestination-directory

所有権、権限、作成日などのメタデータを保持する場合は、-aオプションを使用する必要があります。ディレクトリ内のディレクトリを再帰的にコピーする場合は、-rオプションを使用する必要があります。

rsync -ar sourcedirectory destinationdirectory

同様に、同期の進行中に進行状況を確認したい場合は、-vオプションを使用します。コマンドは次のようになります

rsync -avr sourcedirectory destinationdirectory

Desktop/logにあるファイルとフォルダをKarim/logroに同期するとします。コマンドは、次のようになります。

rsync -avr Desktop/log Karim/logro

以下は出力例です。

もう1つの例について説明し、ハードディスク1(/ media / hdd1 / data-1)にフォルダdata-1があり、それを/ media /hdd2/にある2番目のハードディスクに同期するとします。完全なコマンドは次のようになります。

rsync -avr / media / hdd1 / data-1 / media / hdd2 /

コマンドを実行すると、2番目のハードドライブにデータ1ディレクトリが作成され、宛先パス/ media /hdd2/にすべての内容がコピーされます。

ネットワーク経由でファイルとディレクトリをバックアップ

ネットワーク経由でデータを転送する場合、構文は少し異なります。ローカルディレクトリをリモートディレクトリと同期する場合、コマンドは次のようになります。

rsync [-options] PathofSourceFolder [メール保護]:PathofDestinationFolder

ローカルマシン内の/home/ karim / testfolderにテストフォルダーがあり、/ home/karimで同期したいとします。リモートユーザーは「karim」で、マシンのIPアドレスは10.1.1.2です。ターミナルで次のコマンドを実行します。

rsync -avr /home/karim/testfolder [email protected]:/home/karim/

このコマンドを実行するとすぐに、リモートマシンのパスワードを入力するように求められます。

以下は、ディレクトリを同期した後の出力例です。

リモートディレクトリをローカルディレクトリと同期する場合、コマンドは次のようになります。

rsync [-options] [email protected]:PathofSourceFolder PathofDestinationFolder

/ home / karim /にリモートフォルダ「testfolder」があり、/ home /karim/にあるローカルマシンと同期したいとします。リモートマシンのIPアドレスは10.1.1.2で、ユーザー名はkarimです。

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

rsync -avr  [email protected]:/home/karim/ /home/karim/testfolder

以下は出力例です。

バックアップを自動化する方法

システムエンジニアがコマンドを手動で実行したり、毎日バックアップを取ったりすることを心配する必要がないように、バックアップを自動化する方が便利です。

Linuxには、バックアッププロセスの自動化に使用される「crontab」と呼ばれる有名なツールがあります。上記のすべてのコマンドを毎日、毎週、または毎月実行するようにスケジュールできます。 Linuxディストリビューションにcrontabをインストールしていない場合は、sudo権限を使用してターミナルで次のコマンドを実行します。

apt-get update
apt-get install cron

crontabをインストールしたら、ターミナルで次のコマンドを実行してcrontabエディターを開きます。

crontab -e

サンプル出力は次のようになります。

crontabには次の5つのフィールドがあります

m h dmmdwコマンド

m:分を指定します(0-59)

h:時間を指定します(0-23)

dm:月の日を指定します(1-31)

m:月を指定します(1-12)

dw:曜日を指定します(0〜6、0は日曜日)

あるディスクから別のディスクにディレクトリを同期する前の例を見てみましょう。毎日午後12時にこれを実行したい場合、cronジョブは次のようになります。

0 0 * * *  rsync -avr /media/hdd1/data-1 /media/hdd2/

毎月日曜日の午後12時にバックアップを取りたい場合、cronジョブは次のように作成する必要があります。

0 0 1 * * rsync -avr /media/hdd1/data-1 /media/hdd2/

結論

非常に強力なコマンド「rysnc」を使用してバックアップを作成する方法を読みました。記事は「crontab」で締めくくりました。 「rsync」と「crontab」も便利な組み合わせです。


Debian
  1. Debianで.binファイルと.runファイルを実行する方法

  2. Linux および Unix でファイルをコピーする方法10 cp コマンドの例

  3. mv コマンドですべてのファイルとフォルダーを移動する方法

  1. Linuxでファイルとディレクトリをコピーする方法

  2. cpコマンドを使用してファイルとディレクトリをコピーする方法

  3. Debian –コマンドDpkgなしで.debを抽出してインストールする方法は?

  1. Ubuntuでファイルとフォルダをバックアップおよび復元する方法

  2. Debian 10で日付、時刻、タイムゾーンを変更する方法

  3. Debian10でShredコマンドを使用してファイルを安全に削除する方法