メインコンテンツへスキップ

専用サーバー:RsyncでLinuxサーバーのバックアップを作成する方法

このガイドに最適な製品

今すぐ始めましょう — 最適な製品を注文して、このガイドに沿ってステップバイステップで進めてください。

はじめに

バックアップはRsyncというツールで作成できます。ローカルシステム内の別のディレクトリやドライブにコピーしたり、リモートシステムにコピーしたりできます。

データを別のローカルディレクトリやドライブにコピーする:

備考

注意:初回の実行はデータ量によってはかなり時間がかかる場合があります。これは初回はすべてのデータを同期するためで、2回目以降は変更されたデータのみが同期されるためです。

つまり、増分バックアップが作成されます。

ステップ1

Rsyncは以下のコマンドでインストールできます:

apt install rsync

インストール後はすぐに使用可能です。

ステップ2

この例では、/homeの下にあるClientフォルダを/homeの下にあるBackupフォルダに同期します。

以下のコマンドで実行できます:

rsync -arz /home/Client /home/Backup

-a=アーカイブモード、属性もコピーされます


-r=再帰的、サブフォルダも同期されます


-z=圧縮、データ量やサイズに応じて圧縮されます

フォルダは正常に同期されました。

もしClientフォルダ内のファイルなどを削除しても、Backupフォルダには残ったままです。
しかし、ファイルは常に1:1で同期されるべきなので、rsyncコマンドを簡単に変更して、Clientフォルダに存在しなくなったデータもBackupフォルダから削除されるようにできます。

変更後のコマンドは以下の通りです:

rsync -arz --delete /home/Client /home/Backup

-a=アーカイブモード、属性もコピーされます


-r=再帰的、サブフォルダも同期されます


-z=圧縮、データ量やサイズに応じて圧縮されます


--delete= ソースに存在しなくなったデータをターゲットから削除します

ステップ3

コマンドを毎回手動で実行しなくて済むように、cronジョブに登録しましょう。
例えば、毎日午前3時にバックアップを作成する場合:

crontab -eを開きます:

数字の1で「nano」、数字の2で「vim」をエディタとして選べます。

Nanoなどでファイルを開いたら、cronジョブを作成して入力します。
cronジョブはこのジェネレーターで簡単に作成可能です。

入力例は以下の通りです:

0 3 * * * rsync --progress -arz --delete -e  "ssh -i /home/sshkey/keybackup" /home/Client/ root@123.123.123.123:/home/Backup/Home-Server1/ >/dev/null 2>&1

毎日午前3時にコマンドが実行され、バックアップが作成されます。