Gibt es eine Möglichkeit, plink mit rsync unter Windows zu verwenden?


7

Ich verwende rsync, um Dateien zwischen einem lokalen Verzeichnis und einem Remote-Host zu synchronisieren. Ich verwende auch plink, um meinen SSH-Passphaseneintrag zu automatisieren.

Was ich nicht herausfinden kann, ist, wie man rsync mit plink benutzt. Dies ist, was ich denke, die Syntax sollte sein:

rsync -args --rsh="plink user@remote" local_dir/ :/remote_dir

Ich erhalte jedoch die Meldung "Zugriff verweigert". Gibt es eine Möglichkeit, dies zu tun? Ist es einfach

Bearbeitet , um zu reflektieren, wie die Syntax meiner Meinung nach aussehen sollte. Ich hatte es vorher sehr falsch.

Antworten:



2

Dies ist eine vollständige Batch-Datei, um das Problem zu lösen:

rem This is file: copy_win_inifiles_to_linux_via_rsync_with_pagent.bat

rem This is what I want:
rem
rem Windows with Putty+Pagent -> rsync -> Linux
rem 
rem pagent.exe is already loaded with my ssh-key
rem This ssh-key shall make the authentication to the remote rsyncd/Linux
rem
rem Environment for this Batch-file:
rem
rem plink.exe for Windows, derived from cygwin
rem download here:
rem    http://it-em.net/joomla/downloads/rsync.zip
rem    with german dokumentation in http://it-em.net/joomla/index.php?option=com_content&view=article&id=49&Itemid=54cms/front_content.php
rem cygnative.exe is needed from plink.exe (putty-suite) 
rem so that plink.exe works together wird rsync.exe
rem download cygnative here:
rem     http://diario.beerensalat.info/2009/08/18/new_cygnative_version_1_2_for_rsync_plink.html
rem
rem Filetree looks like this:
rem + copy_win_inifiles_to_linux_via_rsync_with_pagent.bat
rem + bin/
rem      + rsync.exe
rem      + cygwin1.dll         # needed from rsync.exe
rem      + cygiconv-2.dll      # needed from rsync.exe
rem      + cyggcc_s-1.dll      # needed from rsync.exe
rem      + cygnative.exe       # standalone-program
rem      + plink.exe           # from putty-suite, standalone-program
rem + ini/                     # Here are the file which shall be transferred
rem      + bla.ini
rem      + foo.ini
rem
rem our current working is the same where this bat-file is

set SRC_DIR=./ini/
set DST_USER=yourusername
set DST_SERVER=your-linux-server.somewhere.com
set DST_PORT=22
set DST_DIR=/home/yourusername/what/ever/ini

bin\rsync.exe -v -d --delete -e="./bin/cygnative.exe ./bin/plink.exe -P %DST_PORT%" %SRC_DIR% %DST_USER%@%DST_SERVER%:%DST_DIR%

Der Link zu cygnative.exeist tot. Hier sind einige Alternativen, die ich gefunden habe: dieser Kern und dieser Reißverschluss . Ich habe die in der Zip-Datei enthaltene ausführbare Datei verwendet, kann jedoch für keine der beiden Quellen bürgen. Der ursprüngliche Autor scheint seinen Blog heruntergefahren zu haben, seine Website ist jedoch hier .
Sternenfrucht

0

Normalerweise mache ich meine Rsyncs über ssh mit etwas ähnlichem wie dem folgenden:

rsync -args -e "ssh -i .ssh / my-key" Benutzer @ Hostname: / dir1 / dir2

Sie können versuchen, den entsprechenden Plink- oder Putty-Befehl zu ersetzen.


1
Danke, aber es funktioniert nicht bei mir. Bitte beachten Sie meine Änderungen, da ich ursprünglich die Syntax des Befehls rsync durcheinander gebracht habe.
Corey
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.