web-dev-qa-db-ja.com

Windows PCからリモートLinuxサーバーにrsyncを使用する方法

ローカルのWindows 7マシンからリモートのLinuxサーバーにrsyncコマンドを使用するにはどうすればよいですか?

Windows 7マシンでrsyncを使用するにはどのソフトウェアが必要ですか?

リモートLinuxサーバーは、AmazonのLinux AMIを使用しています。コマンドrsyncは既にマシンで有効になっており、マシンへの必要なアクセスを編集できます。

これは、リモートマシンにWebサーバーをセットアップし、ローカルマシンで編集して、ファイルの同期を維持するためです。

マシン間の双方向アクセスは必要ありません。ローカルマシンでファイルを編集し、リモートマシンでファイルを更新し続けるだけです。

更新:

cygwinをWindows 7マシンにインストールし、rsyncパッケージをインストールしました。 Windows 7マシンからLinuxサーバーへの接続をリモートでセットアップする手順を誰かが提供できますか?

WindowsマシンにC:\wwwというフォルダを作成し、リモートマシンで\var\wwwを更新したままにしたい場合、どうすればよいですか?それ自体はバックアップではありません。ローカルコンピュータで編集したファイルを更新します。

26
paradd0x

Windows 7では MinGW (別名 'Git Bash' )があり、リモートLinuxコンピューターの外部ドライブにあるファイルをバックアップするためにrsyncを実行するバッチファイルがあります。これがバッチファイルです(_my_rsync_file.bat_)

_REM Changing directory... (assuming we are in G:/My Documents/My Various Things)
cd ../
REM starting rsync...
bash -c "rsync -avzh -P --stats --timeout=60  --exclude Downloads . '[email protected]:/media/my_remote_linux_computer/LaCie/My\ Documents'"
_

行ごとに少し説明します。

REM Changing directory... (assuming we are in G:/My Documents/My Various Things)

これは、何が起こっているのかを思い出させるメッセージを発します。

_cd ../_

これにより、バッチファイルの場所から1レベル上のディレクトリが(「マイドキュメント」に)変更されます。バッチファイルは、Windowsコンピューターの外部ドライブにあります。この外部ドライブのすべての「マイドキュメント」フォルダーを、リモートのLinuxコンピューターの外部ドライブにある同じ名前のフォルダーと同期させます。

_REM starting rsync..._

別のメッセージを出力するだけです。

_bash -c "rsync -avz -P --stats --timeout=60 --exclude Downloads . [email protected]:/media/my_remote_linux_computer/LaCie/My\\ Documents"_

bash:rsyncライブラリが組み込まれているMinGWを起動します
_-c_:これが何をするかわからない
rsync:ファイルを同期するためのライブラリ、MinGWに付属
_-avzh_:a-Archive、v-Verbose、z-Compress、h-Human-判読可能、これらは一般的なオプションです(詳細: http://linux.die.net/man/1/rsync
_-P_:大きなファイルの進行状況を表示して、フリーズしているかどうかを確認
_--stats_:最後に転送されたファイル数とバイト数の概要を表示します
_--timeout=60_:スタックした場合、60秒後に強制終了します
_--exclude_ファイル/ディレクトリの同期を省略します。この場合、「ダウンロード」というディレクトリを除外します
_._:「マイドキュメント」のすべてのコンテンツを同期することを示します(指定されたものは上の行で除外する必要があります)
_my_remote_linux_computer_:リモートLinuxコンピューターの名前(実際の名前ではありません;)
_@128.95.155.200_:リモートのLinuxコンピューターのIPアドレス https://www.whatismyip.com/ (実際のIPアドレスではありません)
_/media/my_remote_linux_computer/LaCie/My\\ Documents_:ファイルを受け取りたいリモートLinuxコンピューター上のディレクトリへのパス。外付けドライブです。

「マイドキュメント」のスペースは2つのバックスラッシュでエスケープされ、リモート宛先の完全な名前とディレクトリは二重引用符で囲まれていることに注意してください。

Batファイルをダブルクリックすると、リモートLinuxコンピューターのパスワードの入力を求められます。完了すると、いくつかの要約出力が表示され、いずれかのキーを押して閉じるように求められます。

12
Ben

CygwinとrsyncをNiceグラフィカルインターフェイスにバンドルする無料アプリが必要な場合は、Deltacopyをご覧ください。

http://www.aboutmyip.com/AboutMyXApp/DeltaCopy.jsp

  • 増分バックアップ-実際に変更されたファイルの一部をコピーします
  • タスクスケジューラ-DeltaCopyのプロファイルはスケジュールに基づいて実行できます
  • メール通知-管理者は、転送が成功した場合と失敗した場合の確認メールを受信できます。
  • ワンクリック復元-バックアップしたファイルを簡単に復元できます。
  • Windowsに適した環境-構成ファイルを手動で変更したり、コマンドラインオプションをいじったりする必要はありません。
6
Linker3000

1つのオプションは、Windowsにcygwinをインストールしてrsyncをインストールすることです。おそらくもっと直接的なアプローチがあるでしょう。

別のオプションは、Linux側からrsyncすることです。リモートマシンがローカルファイルにアクセスする手段を設定し、そこからrsyncを実行することもできます(smb/cifs共有のマウントを見てください)。

まだもっと良い選択肢があると思いますが、それは少し役立つかもしれません。


2017年の更新

Windows 10で利用可能なLinuxサブシステムを使用すると、おそらくssh&rsyncサーバーを非常に簡単にインストールでき、それを介してWindowsでrsyncを使用できます。

6
James T Snell

MinGWにはrsyncが組み込まれており、かなりうまくいくようです。デーモンモードさえあります-私はそれをテストしていませんが。 cygwinよりもMinGWをお勧めします。いくつかの理由があります。MinGWはインストールが小さく、Windowsネイティブです。

5
A.C. Verbeck

Lifehackerが PCのrsync に関する素晴らしい記事を書いています。

LifehackerもCygwinを推奨しているようです。

ここにも説明があります: http://optics.ph.unimelb.edu.au/help/rsync/rsync_pc1.html

2
chrisjlee

それ自体はrsyncではありませんが、 Syncthing と呼ばれるクロスプラットフォームツールを使用して同じゴールを達成できます。

ウェブサイトから:

Syncthingは継続的なファイル同期プログラムです。 2つ以上のコンピューター間でファイルをリアルタイムで同期し、覗き見から安全に保護します。あなたのデータはあなた自身のデータであり、あなたはそれがどこに保管されているか、それが第三者と共有されているかどうか、そしてそれがインターネット上でどのように送信されるかを選択する価値があります。

0
Royi