ウェブサイト検索

rsyncを使用してLinuxディレクトリをリモートマシンにバックアップする方法


Linuxのコマンドラインツールを使用すると、ローカルディレクトリをリモートマシンのディレクトリにバックアップするのが速くて柔軟です。

Linuxは市場で最も柔軟なオペレーティングシステムです。このオープンソースのプラットフォームを使うことで、独自のOSではできないことをたくさん行うことができ、ソフトウェアに一銭も費用をかけることなく実現できます。

Linuxを初めて使う際は、コマンドラインを避けたくなるかもしれません。それは少し圧倒されることがあるからです。しかし最終的には、自分が選んだディストリビューションからどれだけの力と柔軟性を引き出せるかを知る準備ができているかもしれません。非常に便利で役立つことの一つは、rsyncコマンドを使って、ローカルディレクトリをリモートのものにバックアップする方法を学ぶことです。それが、私があなたにお見せすることです。

準備はいいですか?さあ、やりましょう。

rsyncを使ってLinuxディレクトリをバックアップする方法

必要なもの:これを機能させるには、2つのLinuxインスタンスが必要です。1つはローカル(バックアップしたいディレクトリがある)で、もう1つはリモート(そのディレクトリをバックアップする場所)です。また、両方のマシンにsudo権限を持つユーザーが必要です。最後に、両方のマシンのIPアドレスを知っている必要があります(これはip a コマンドで確認できます)。私はこれを2台のUbuntuベースのマシンで示します。FedoraやArchベースのディストリビューションを使用している場合は、インストールコマンドだけを変更する必要があります。

1. 両方のマシンにrsyncをインストールします

最初に行うべきことは、次のコマンドで達成できるrsyncをインストールすることです。

sudo apt-get install rsync -y

2. リモートマシンでrsyncを設定する

次に、リモートマシンでrsyncを設定する必要があります。次のコマンドで新しい設定ファイルを作成します:

sudo nano /etc/rsyncd.conf

そのファイルに、以下の内容を貼り付けてください:

[backup]
path=REMOTE_DIRECTORY
hosts allow = LOCAL_IP
hosts deny = *
list = true
uid = root
gid = root
read only = false

REMOTE_DIRECTORYはバックアップファイルが配置されるリモートマシン上のディレクトリであり、LOCAL_IPはローカルマシンのIPアドレスです。

Ctrl+Xのキーボードショートカットを使用して、ファイルを保存して閉じます。

次のコマンドでrsyncを開始し、有効にします:

sudo systemctl enable --now rsync

3. バックアップを実行する

バックアッププロセスをテストします。ローカルマシンで、次のようにrsyncコマンドを実行します:

rsync -avz LOCAL_DIRECTORY REMOTE_IP::backup

LOCAL_DIRECTORYはバックアップしたいディレクトリで、REMOTE_IPはリモートマシンのIPアドレスです。::backup.は、リモートマシンの設定ファイルで使用したバックアップの名前です(行[backup])。バックアップは実行され、比較的迅速に完了するはずです(ディレクトリ内に大量のファイルがある場合を除いて)。

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

私が言ったように、Linuxは非常に柔軟です。このプロセスを組み込みのcronツールの助けを借りて自動化できます。私たちがすることは、バックアップのためのbashスクリプトを作成し、次のコマンドを使用します:

nano rsync.sh

そのファイルに、バックアップを実行するために以前使用したのと同じコマンドを入力しますが、出力を抑制するためにqオプションを追加するので、次のようになります:

rsync -avzq LOCAL_DIRECTORY REMOTE_IP::backup

ファイルを保存して閉じます。次のコマンドでファイルに実行権限を付与します:

chmod u+x rsync.sh

さて、次に以下のコマンドでcronジョブを作成します:

sudo crontab -e

そのファイルに、次の内容を貼り付けてください:

00 01 * * * /home/USER/rsync.sh

ユーザーはあなたのユーザー名です。ファイルを保存して閉じてください。

新しい cron ジョブは毎日午前 1 時に rsync バックアップを実行するため、そのディレクトリの新しいバックアップが常に保存されます。

そして、それが私の友人たち、Linuxで基本的なリモートバックアップジョブを作成するためのすべてです。

関連記事: