はじめに
データのバックアップは、個人インフラストラクチャと企業インフラストラクチャの両方の重要な部分です。 Linuxオペレーティングシステムを搭載したマシンはrsyncを使用できます およびssh プロセスを容易にするため。
Rsync は、ファイルをローカルおよびリモートの場所に転送できるコマンドラインユーティリティです。 Rsyncは、ほとんどのLinuxディストリビューションにデフォルトで付属しているため、便利に使用できます。利用可能なオプションの多くを使用して、ツールをカスタマイズできます。
このユースケースでは、SSHをrsyncと組み合わせて使用して、ファイル転送を保護します。
このチュートリアルに従って、rsyncを使用してデータをバックアップする方法を学習してください 。ガイドには、プロセスがどのように機能するかを説明するためのいくつかの例がリストされています。
前提条件
- 須藤 またはルート 特権またはバックアップディレクトリと宛先ディレクトリへのアクセス権を持つユーザー
- SSHアクセス コマンドライン/ターミナルウィンドウ経由でサーバーに送信
- ローカルマシンと宛先マシンにインストールされたRsync
ローカルおよび外部転送の基本的なRsync構文
rsyncツールを使用するための構文は、ローカル転送とリモート転送で異なります。
ローカルバックアップの場合、構文は次の基本パターンに従います。
rsync
options
SOURCE DESTINATION
ファイルを外部の場所に転送するには、少し異なるパターンを使用します:
rsync
options
SOURCE [email protected]_or_hostname:DESTINATION
どちらの場合も、ソースと宛先はディレクトリまたはファイルパスです。
Rsyncを使用したデータのバックアップ
rsyncの機能をよりよく理解するために、冗長スイッチ -v
を使用します。 。さらに、ディレクトリ内のデータをバックアップするため、アーカイブモード -a
を使用します。 再帰的な同期用。 rsyncのオプションと例はたくさんあるので、ユースケースに必要なものをどれでも使用してください。
Rsyncドライラン-注意事項
rsyncユーティリティを使用すると、さまざまな方法でデータを操作できます。したがって、ファイルをバックアップするときは注意してください。間違ったオプションまたは間違った宛先を使用すると、データが混在する可能性があります。さらに悪いことに、意図せずにファイルを上書きまたは削除する可能性があります。
そのため、 --dry-run
を使用してください ツールがやりたいことを実行することを確認するオプション。偶発的なデータ損失が発生する可能性がありますが、このオプションはそれを防ぐのに役立ちます。
単純な転送の場合、 --dry-run
を使用する必要がない場合があります 、ただし、より多くのデータセットが問題になる場合は、そうすることを強くお勧めします。
基本的な構文形式を使用して、 --dry-run
を追加します :
rsync
options
--dry-run SOURCE DESTINATION
Rsyncを使用してデータをローカルにバックアップする
同じLinuxマシンでディレクトリのバックアップを実行することから始めます。パスは、別のパーティション、ハードドライブ、外部ストレージなど、任意の場所にすることができます。
送信元と宛先の両方のフルパスを使用します エラーを回避するため。
たとえば、 Dir1をバックアップするには ドキュメントから / media / hdd2 / rscync_backupへ 、次の形式でrsyncコマンドを使用します:
rsync -av /home/test/Documents/Dir1 /media/hdd2/rsync_backup
出力には、転送されたファイルとディレクトリのリスト、およびその他の転送の詳細が表示されます。
Rsyncを使用してネットワーク経由でデータをバックアップする
ネットワークを介した安全なデータバックアップのために、rsyncは転送にSSHを使用します。 SSH接続を許可するようにサーバーを設定する必要があります。
SSH経由でリモートマシンに接続できたら、そのマシン上の場所へのデータのバックアップを開始できます。
たとえば、 Dir1をバックアップするには バックアップ ネットワーク上の別のマシンで、次のように入力します。
rsync -av /home/test/Documents/Dir1 [email protected]:/home/test/backup
出力には、rsyncが別のマシンに転送されたディレクトリとファイルが一覧表示されます。
ファイルが実際にリモートサーバー上にあるかどうかを確認できます:
初めて接続する場合は、パスワードを入力し、プロンプトが表示されたら確認する必要があります。現在のユーザーとして接続する場合は、リモート転送のユーザー名を入力する必要はありません。
ここで使用した例では、SSHがデフォルトのポートを使用することを前提としています。 SSH接続に別のポートを指定する必要がある場合は、 -e
を使用してください フラグを立ててSSHオプションを入力します。
たとえば、ポート4455を指定するには、上記のコマンドを次の形式で実行します。
rsync -av -e 'ssh -p 4455' /home/test/Documents/Dir1 [email protected]:/home/test/backup
必要に応じて、ソースファイルを別の場所に転送した後で削除できます。
Rsyncでバックアップするときにデータを圧縮する
スペースを節約するために、データを別の場所に転送する前に圧縮することができます。 rsyncの組み込みオプションを使用してデータを圧縮するか、rsyncを実行する前に別のツールを使用して圧縮することができます。
転送中にデータを圧縮するには、 -z
を使用します rsync
で切り替えます コマンド。
rsync -avz /home/test/Documents/Dir1 [email protected]:/home/test/backup
もう1つのオプションは、 zip
を使用することです。 ファイルまたはディレクトリを圧縮してからrsync
を実行するコマンド 。この場合、 Dir1を圧縮します。 Dir.zipに :
zip /home/test/Documents/Dir1.zip /home/test/Documents/Dir1
次に、そのファイルを別の場所に転送します:
rsync -avz /home/test/Documents/Dir1.zip [email protected]:/home/test/backup
これで、リモートサーバーにディレクトリのzip形式のコピーが作成されました。別のドライブまたはパーティションにバックアップが必要な場合は、ローカル転送に対してもこれを行うことができます。