rsyncおよびVPNトンネルクローンの実行

rsyncおよびVPNトンネルクローンの実行

nextcloudやその他のサービスを提供するWebサーバーがあります。パフォーマンスの問題のため、複数のディスクにraid 0を使用することにしました。そのため、バックアップが必須です。だから、より安全ですが、より強力なレイドレベルを持つ2番目のシステムをインストールしました。

どちらのマシンもDebianベースです。セキュリティ上の理由から、バックアップコンピュータはopenvpnトンネルを介してのみアクセスできます。 SSH経由でbashシェルにログインし、本番サーバーで最初のバックアップを実行しました。そこでopenvpn --> configfileコマンドを使用して別のコンピュータへの接続を確立しました。

これにより、シェルに送信されたいくつかのVPNメッセージが表示されます。だから私は2番目のSSH接続で新しいシェルを開きました。そこでバックアップしたいフォルダに対してrsyncコマンドを起動しました。すべてが期待どおりに動作します。バックアップが完了したら、2番目のシェルを切断し、1番目のシェルからVPNトンネルを切断し、すべてがうまく機能しました。

今はおばあちゃんのように毎日やりたいです。私のbackup.shは次のようになります

#!/bin/bash
openvpn /home/cloud/vpn/tunnel.ovpn
rsync --numeric-ids -avze 'ssh -i /xy' /source/ [email protected]:/destination 

残念ながら、これは機能しません。その理由は、トンネルが開いている間にopenvpnがシェルをブロックしているためです。だから私の質問は次のようになります

  1. トンネルの開始時にrsyncが機能するようにするにはどうすればよいですか?
  2. rsyncの進行が完了した後に切断する方法は?手動モードでは、「ESC」を押してこれを行います。

答え1

私が知っている限り、OpenVPNでは接続するたびにユーザー名:vpnbookとパスワード:CURENT_PASSWORDを入力する必要があります。接続プロセスを自動化するには、ファイルを作成し、名前を「auth.txt」として指定し、ファイルにはユーザー名とパスワードの2行のみを含める必要があります。あなたはあなたを作りました承認するまだファイルがありませんか?

OpenVPNがauth.txtをインポートした場合(auth.txtはWindows上でこのファイルの名前です。Linux用のファイルを作成する方法については、OpenVPNのマニュアルとGoogleを参照してください)、以下を参照してすべてを自分で接続できるはずですします。 、例えばopenvpn --config vpnbook-ca1-tcp443.ovpnすべての端末(スクリプトを含む)で。

関連情報