YES: Cygwin 1.7 binaries used by Cwrsync allow co-existence of multiple Cygwin implementations.
cwRsync - Rsync for Windows
cwRsync is a packaging of Rsync for Windows. You can use cwRsync for fast remote file backup and synchronization.
Rsync uses the Rsync algorithm which provides a very fast method for bringing remote files into sync. It does this by sending just the differences in the files across the link, without requiring that both sets of files are present at one of the ends of the link beforehand. At first glance this may seem impossible because the calculation of diffs between two files normally requires local access to both files.
Rsync normally uses ssh for communication. It requires no special privileges for installation. You must, however, have a working ssh system. Alternatively, rsync can run in `daemon' mode, listening on a socket. This is generally used for public file distribution, although authentication and access control are available.
Cygwin is a Linux-like environment for Windows. It consists of a DLL (cygwin1.dll), which emulates substantial Linux API functionality, and a collection of tools.
Rsync is a very powerful tool with lots of options. Our helper GUI can assist you to form, verify and run viable Rsync setups working for your environment almost instantly.
Features:
- Supports local, ssh and rsync server setups
- Support for ssh private keys and rsync password files
- More than 50 options grouped by categories
- Generate commands for scheduling
- Instant dry and real runs with statistics
- Detailed logging
- Profile support to save/load your work
Rsync Client Helper GUI 1.0.3.10release date: Mon, 10/09/2023
2023 |
||||||||||||||||||||||||
Rsync Client Helper GUI 1.0.3.9release date: Fri, 09/08/2023
2023 |
||||||||||||||||||||||||
Rsync Client Helper GUI 1.0.3.8release date: Mon, 06/19/2023
2023 |
||||||||||||||||||||||||
Rsync Client Helper GUI 1.0.3.7release date: Wed, 03/29/2023
2023 |
||||||||||||||||||||||||
Rsync Client Helper GUI 1.0.3.6release date: Sun, 02/12/2023
2023 |
||||||||||||||||||||||||
Rsync Client Helper GUI 1.0.3.5release date: Mon, 10/24/2022
2022 |
||||||||||||||||||||||||
Rsync Client Helper GUI 1.0.3.4release date: Tue, 09/13/2022
2022 |
||||||||||||||||||||||||
Rsync Client Helper GUI 1.0.3.3 (security)release date: Mon, 08/15/2022
2022 |
||||||||||||||||||||||||
Rsync Client Helper GUI 1.0.3.2release date: Thu, 04/21/2022
2022 |
||||||||||||||||||||||||
Rsync Client Helper GUI 1.0.3.1release date: Wed, 11/17/2021
2021 |
||||||||||||||||||||||||
Rsync Client Helper GUI 1.0.3release date: Sat, 09/18/2021
2021 |
||||||||||||||||||||||||
Rsync Client Helper GUI 1.0.2release date: Tue, 12/29/2020
2020 |
||||||||||||||||||||||||
Rsync Client Helper GUI 1.0.1release date: Tue, 12/08/2020
2020 |
Sets up an rsync daemon as a Windows service, so that you can serve incoming rsync requests. An admin GUI is also provided. The rsync binary provided has following convenient patches: transliterate, timelimit, ignore case, no strict check of password file permissions (unofficial).
cwRsync is a packaging of Rsync for Windows. You can use cwRsync for fast remote file backup and synchronization.
Rsync uses the Rsync algorithm which provides a very fast method for bringing remote files into sync. It does this by sending just the differences in the files across the link, without requiring that both sets of files are present at one of the ends of the link beforehand. At first glance this may seem impossible because the calculation of diffs between two files normally requires local access to both files.
Rsync normally uses ssh for communication. It requires no special privileges for installation. You must, however, have a working ssh system. Alternatively, rsync can run in `daemon' mode, listening on a socket. This is generally used for public file distribution, although authentication and access control are available.
Cygwin is a Linux-like environment for Windows. It consists of a DLL (cygwin1.dll), which emulates substantial Linux API functionality, and a collection of tools.
Installation (cwRsync server)
Supported platforms: Vista/2008(R2)/7/8/2012(R2)/10/2016/2019
cwRsync server comes as a zip archive containing a Nullsoft Installer package. Unzip downloaded file and run cwRsync_Server_x.x.x_Installer.exe (server version) :
- Click Next at Welcome-page
- View license agreement.
- Specify an installation location.
- Installation starts. By clicking 'Details' button, you can get more detailed information about installation. Check if everything seems ok.
You're DONE! cwRsync server is installed on your machine. An admin GUI allowing you to manage server configuration is also provided
You should update the configuration file according to your needs, either directly or via the Admin GUI provided.
cwRsync installs rsync server as a service (RsyncServer) with following parameters :
--config rsyncd.conf --daemon --no-detach
Default start mode is manual.
Usage
cwRsync itself has no support for it. However, after an rsync operation, you can use Robocopy (standard in more recent Windows versions), to transfer all windows specific file information (NTFS security, timestamps, attributes, ownership, auditing info):
ROBOCOPY source destination /XO /XN /XC /E /COPY:ATSOU
options /XO (exclude older), /XN (exclude newer) and /XC (exclude changed) assure that only existing files are targeted. Option /E is for recursive directory operation including empty ones. Option /COPY:ATSOU instructs Robocopy to copy only attributes (A), timestamps (T), NTFS security information (S), Ownership O) and auditing (U).
Try to remove /etc/fstab and use the option --no-perms option instead. The problem can also be related to real-time anti-virus scanning. Consider file/folder exclusion if possible.
Rsync server uses port 873 by default. You can add port directive to the configuration file rsyncd.conf to specify an alternative port.
port new-port-number
Restart the service.
As of version 2.6.7, rsync server can kick scripts before and after transfers. You can use the recipe below to implement this very handy functionality in cwrsync server:
- Install Copssh and Cwrsync Server.
- Start a windows command shell from cwrsync start menu and make a copy of bash.exe as sh.exe in the bin directory.
copy bin\bash.exe bin\sh.exe - Create two script files in the bin directory for pre-exec operations:
c:\program files\ICW\bin\pre-exec.sh
# Shell script for your pre-exec operations
cmd /c "c:\program files\ICW\bin\pre-exec.cmd"
exit 0
c:\program files\ICW\bin\pre-exec.cmd
@ECHO OFF
..... - Create two script files for post-exec operations as described above.
- Update your rsyncd.conf file:
# Module definitions
path = .....
......
pre-xfer exec = /bin/pre-exec.sh
post-xfer exec = /bin/post-exec.sh
Assuming that you want to pull directory c:\backup on Windows machine to /var/backup on Linux machine:
On Windows machine :
- Install Cwrsync Server
- Start RsyncServer service
- Add a new module to the configuration file rsyncd.conf :
path = /cygdrive/c/backup
read only = true
transfer logging = yes
On Linux machine :
- Use the command below to initiate rsync:
rsync -vrt windows_machine::backup /var/backup
NB! Keep in mind that the recipe above is suitable for operations within a secure network.
cwRsync has all ssh binaries you need to establish ssh communication.
Use batch file example in the cwRsync client package to set up communication correctly.
On Windows:
- Install Copssh and cwRsync server. Use the same service account.
- Start RsyncServer and OpenSSHD services
- Activate a user
- Import your public key via Copssh Control Panel:
- Make sure that the user and the service account has write access to c:\backup
- Add a new module to rsyncd.conf :
[backup] path = /cygdrive/c/backup read only = false transfer logging = yes
On Linux:
- Use shell script below after having it updated according to your needs:
#!/bin/bash localport=9119 remoteport=873 remotehost=192.168.100.21 rsyncmodule=backup remoteuser=lab1user sourcedir=/bin/ echo Establishing secure channel ... ssh -L $localport:127.0.0.1:$remoteport $remoteuser@$remotehost -T -N -f rsync -vrt $sourcedir rsync://localhost:$localport/$rsyncmodule echo Terminating secure channel ... ps ax | grep "ssh -L $localport" | awk '{print $1}' | xargs -i kill {} 2&>/dev/null
On WINSERVER:
Install cwRsync Server and Copssh into the same directory.
- Start RsyncServer and OpenSSHD services
- Activate a user (test1 in our example below) via Copssh control panel and specify c:\backup as home directory.
- Add a new module to rsyncd.conf :
[backup] path = /cygdrive/c/backup read only = false transfer logging = yes
on WINCLIENT :
- Download cwRsync client
- Create a batch file for automation (the example below copies contents of c:\windows\fonts\s* to the directory behind the rsync module test at the server side via a secure ssh tunnel:
@ECHO OFF SET CWRSYNC_DIR=C:\cwrsync_client_x64 SET CHANNEL_ID=Secure_Channel_ABC SET LOCALPORT=9119 SET REMOTEPORT=873 SET REMOTEHOST=192.168.100.21 SET REMOTEUSER=lab1user SET RSYNCMODULE=test SET SOURCEDIR=/cygdrive/c/windows/fonts/s* echo Establish secure channel ... start "%CHANNEL_ID%" /MIN %CWRSYNC_DIR%\bin\ssh -L %LOCALPORT%:127.0.0.1:%REMOTEPORT% %REMOTEUSER%@%REMOTEHOST% -T -N -f "%CWRSYNC_DIR%\bin\rsync" -vrt %SOURCEDIR% "rsync://localhost:%LOCALPORT%/%RSYNCMODULE%" echo Terminate secure channel ... taskkill /FI "WINDOWTITLE eq %CHANNEL_ID%"
Assuming that you want to synchronize from directory c:\srcdir on machine WINCLIENT to directory c:\destdir on machine WINSERVER :
On WINSERVER :
- Install cwRsync Server
- Start RsyncServer service
- Make sure that the service account has write access to c:\destdir. You can use Prep a Dir for Upload wizard from start menu.
- Add a new module to rsyncd.conf :
path = /cygdrive/c/destdir
read only = false
transfer logging = yes
On WINCLIENT :
- Download cwRsync client.
- Use the command below to initiate rsync communication:
".\bin\rsync" -av /cygdrive/c/srcdir/ WINSERVER::wintest
NB! Keep in mind that the recipe above is suitable for operations within a secure network.
Assuming that you want to pull directory c:\backup on machine WIN_SOURCE to directory /var/backup on machine LINUX_DEST :
On WIN_SOURCE :
- Install cwRsync Server (without openssh component)
- Start RsyncServer service
- Add a new module to rsyncd.conf :
On LINUX_DEST :
path = /cygdrive/c/backup
read only = true
transfer logging = yes
- Use the command below to initiate rsync:
rsync -av WIN_SOURCE::backup /var/backup
NB! Keep in mind that the recipe above is suitable for operations within a secure network.
From Windows Developer network:
“In the Windows API (with some exceptions discussed in the following paragraphs), the maximum length for a path is MAX_PATH, which is defined as 260 characters. A local path is structured in the following order: drive letter, colon, backslash, name components separated by backslashes, and a terminating null character. For example, the maximum path on drive D is "D:\some 256-character path string<NUL>" where "<NUL>" represents the invisible terminating null character for the current system codepage. (The characters < > are used here for visual clarity and cannot be part of a valid path string.)
The Windows API has many functions that also have Unicode versions to permit an extended-length path for a maximum total path length of 32,767 characters. This type of path is composed of components separated by backslashes, each up to the value returned in the lpMaximumComponentLength parameter of the GetVolumeInformation function (this value is commonly 255 characters). To specify an extended-length path, use the "\\?\" prefix. For example, "\\?\D:\very long path".”
Even if the underlying APIs may have support for really long paths, the problem occurs due to user interface tools like Windows Explorer, Cmd prompt and PowerShell which don't support Unicode variants of the Windows APIs. The result is then path names up to 256 chars. As of version 1.7, Cygwin uses unicode Windows APIs, you can use tools like bash shell or nano editor for management of files/paths with long names.
Log example for cwRsync transfer with long path names:
...
2014/03/25 22:08:42 >f+++++++++ backup/0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
/0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
/0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
/0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789/testfile
...
Here is a simple recipe ( NB! This is not a very secure solution, since we use null passphrase during generation of public key pairs, use it at your own risk):
- cwRsync client. Generate key pairs :
ssh-keygen -q -t rsa -f cwrsync -N ""
Files cwrsync and cwrsync.pub will be generated.
- Transfer cwrsync.pub to your *nix machine.
- *nix machine. Run following commands:
mkdir -p ~$user/.ssh
cat cwrsync.pub > ~$user/.ssh/authorized_keys
chmod 755 ~$user ~$user/.ssh
chmod 644 ~$user/.ssh/authorized_keys
chown $user ~$user ~$user/.ssh ~$user/.ssh/authorized_keys
- cwRsync client. Update your rsync commands in your batch file by specifying option -e "ssh -i cwrsync".
If you run into permissions problems or your directories' security ACLs are populated by some unwanted groups/users, you need to make sure that:
- File ../etc/fstab exists with at least the content below (with Unix line endings even if the file has only one line!):
none /cygdrive cygdrive binary,posix=0,user,noacl 0 0
That will instruct Cygwin not to touch permissions.
NB! You may experience very slow transfer rates and/or building the file list may take long time. You can remove /etc/fstab and use the option --no-perms option instead. The problem can also be related to real-time anti-virus scanning. Consider file/folder exclusion if possible.
More information:
If you're setting up cwrsync to run as a Service on a Windows machine ensure the .conf file has the line:
strict modes = false
otherwise rsync passwords will not work in Windows.
Windows paths may contain a colon (:) as a part of drive designation and backslashes (example c:\, g:\). However, in rsync syntax, a colon in a path means searching for a remote host.
Solution: use absolute path 'a la unix', replace backslashes (\) with slashes (/) and put -/cygdrive/- in front of the drive letter.
Example :
C:\WORK\* --> /cygdrive/c/work/*
It's trying to fire up ssh because your target has a single colon in it.
server:/path/to/stuff means "fire up ssh or rsh and make me a tunnel to
server"
server::module/path/to/stuff means "try to access an rsync daemon on
server and access path/to/stuff on module"
/path/to/stuff means "access /path/to/stuff on the local machine"
Hope that helps.
by Jim Salter
Use of vocals would be inappropriate (!) as the word rsync has no vocals in it, and this package is also dependent on Cygwin:
CYGWIN + RSYNC
cwRsync server 6.8.0release date: Tue, 04/09/2024
2024 |
||||||||||||||||||||
cwRsync server 6.7.4release date: Fri, 09/08/2023
2023 |
||||||||||||||||||||
cwRsync server 6.7.3release date: Mon, 06/19/2023
2023 |
||||||||||||||||||||
cwRsync server 6.7.2release date: Wed, 03/29/2023
2023 |
||||||||||||||||||||
cwRsync server 6.7.1release date: Sun, 02/12/2023
2023 |
||||||||||||||||||||
cwRsync server 6.7.0release date: Mon, 10/24/2022
2022 |
||||||||||||||||||||
cwRsync server 6.6.0release date: Tue, 09/13/2022
2022 |
||||||||||||||||||||
cwRsync server 6.5.0 (security)release date: Mon, 08/15/2022
2022 |
||||||||||||||||||||
cwRsync server 6.4.1release date: Sun, 06/26/2022
2022 |
||||||||||||||||||||
cwRsync server 6.4.0release date: Wed, 04/20/2022
2022 |
||||||||||||||||||||
cwRsync server 6.3.2release date: Tue, 01/04/2022
2022 |
||||||||||||||||||||
cwRsync server 6.3.1release date: Wed, 11/17/2021
2021 |
||||||||||||||||||||
cwRsync server 6.3.0release date: Thu, 09/16/2021
2021 |
||||||||||||||||||||
cwRsync server 6.2.1release date: Tue, 05/04/2021
2021 |
||||||||||||||||||||
cwRsync server 6.2.0release date: Sat, 09/26/2020
2020 |
||||||||||||||||||||
cwRsync server 6.1.0release date: Tue, 07/14/2020 2020 |
||||||||||||||||||||
cwRsync 6.0.1release date: Sat, 02/22/2020 2020 |
||||||||||||||||||||
cwRsync 6.0.0release date: Wed, 08/28/2019 2019 |
||||||||||||||||||||
cwRsync 5.7.4release date: Tue, 07/02/2019 2019 |
||||||||||||||||||||
cwRsync 5.7.3release date: Tue, 10/30/2018 2018 |
||||||||||||||||||||
cwRsync 5.7.2release date: Tue, 05/15/2018 2018 |
||||||||||||||||||||
cwRsync 5.7.1release date: Wed, 04/11/2018 2018 |
||||||||||||||||||||
cwRsync 5.7.0 (security)release date: Tue, 01/30/2018 2018 |
||||||||||||||||||||
cwRsync 5.6.0release date: Thu, 10/05/2017 2017 |
||||||||||||||||||||
cwRsync 5.5.3release date: Tue, 03/28/2017 2017 |
||||||||||||||||||||
cwRsync 5.5.2release date: Tue, 10/04/2016 2016 |
||||||||||||||||||||
cwRsync 5.5.1release date: Sun, 05/01/2016 2016 |
||||||||||||||||||||
cwRsync 5.5.0 (security)release date: Sun, 12/27/2015 2015 |
||||||||||||||||||||
cwRsync 5.4.5release date: Sun, 11/15/2015 2015 |
||||||||||||||||||||
cwRsync 5.4.4release date: Wed, 09/09/2015 2015 |
||||||||||||||||||||
cwRsync 5.4.2release date: Thu, 02/12/2015 2015 |
||||||||||||||||||||
cwRsync 5.4.1release date: Thu, 10/16/2014 2014 |
||||||||||||||||||||
cwRsync 5.4.0release date: Tue, 06/24/2014 2014 |
||||||||||||||||||||
cwRsync 5.3.0release date: Fri, 04/18/2014 2014 |
||||||||||||||||||||
cwRsync 5.2.2release date: Mon, 01/13/2014 2014 |
||||||||||||||||||||
Cwrsync 2.1.5release date: Sun, 09/07/2008 2008 |
||||||||||||||||||||
Experimental Cwrsync updates with Cygwin 1.7.0release date: Tue, 08/19/2008 2008 |
||||||||||||||||||||
Cwrsync 2.1.4release date: Mon, 07/28/2008 2008 |
||||||||||||||||||||
This product kit contains both cwRsync and Copssh server installers, allowing you to set up a secure Rsync server via ssh transport. See our FAQs for more information: Windows Linux/Unix
A barebone distribution of Rsync client for Windows. That's all you need to initiate rsync requests from your computer. The rsync binary provided has following convenient patches: transliterate, timelimit, ignore case, no strict check of password file permissions (unofficial).
If you need to serve rsync requests from your computer, you need to set up an rsync daemon, which we provide as a paid solution.
cwRsync is a packaging of Rsync for Windows. You can use cwRsync for fast remote file backup and synchronization.
Rsync uses the Rsync algorithm which provides a very fast method for bringing remote files into sync. It does this by sending just the differences in the files across the link, without requiring that both sets of files are present at one of the ends of the link beforehand. At first glance this may seem impossible because the calculation of diffs between two files normally requires local access to both files.
Rsync normally uses ssh for communication. It requires no special privileges for installation. You must, however, have a working ssh system. Alternatively, rsync can run in `daemon' mode, listening on a socket. This is generally used for public file distribution, although authentication and access control are available.
Cygwin is a Linux-like environment for Windows. It consists of a DLL (cygwin1.dll), which emulates substantial Linux API functionality, and a collection of tools.
YES: Cygwin 1.7 binaries used by Cwrsync allow co-existence of multiple Cygwin implementations.
cwRsync itself has no support for it. However, after an rsync operation, you can use Robocopy (standard in more recent Windows versions), to transfer all windows specific file information (NTFS security, timestamps, attributes, ownership, auditing info):
ROBOCOPY source destination /XO /XN /XC /E /COPY:ATSOU
options /XO (exclude older), /XN (exclude newer) and /XC (exclude changed) assure that only existing files are targeted. Option /E is for recursive directory operation including empty ones. Option /COPY:ATSOU instructs Robocopy to copy only attributes (A), timestamps (T), NTFS security information (S), Ownership O) and auditing (U).
Try to remove /etc/fstab and use the option --no-perms option instead. The problem can also be related to real-time anti-virus scanning. Consider file/folder exclusion if possible.
Rsync server uses port 873 by default. You can add port directive to the configuration file rsyncd.conf to specify an alternative port.
port new-port-number
Restart the service.
As of version 2.6.7, rsync server can kick scripts before and after transfers. You can use the recipe below to implement this very handy functionality in cwrsync server:
- Install Copssh and Cwrsync Server.
- Start a windows command shell from cwrsync start menu and make a copy of bash.exe as sh.exe in the bin directory.
copy bin\bash.exe bin\sh.exe - Create two script files in the bin directory for pre-exec operations:
c:\program files\ICW\bin\pre-exec.sh
# Shell script for your pre-exec operations
cmd /c "c:\program files\ICW\bin\pre-exec.cmd"
exit 0
c:\program files\ICW\bin\pre-exec.cmd
@ECHO OFF
..... - Create two script files for post-exec operations as described above.
- Update your rsyncd.conf file:
# Module definitions
path = .....
......
pre-xfer exec = /bin/pre-exec.sh
post-xfer exec = /bin/post-exec.sh
Assuming that you want to pull directory c:\backup on Windows machine to /var/backup on Linux machine:
On Windows machine :
- Install Cwrsync Server
- Start RsyncServer service
- Add a new module to the configuration file rsyncd.conf :
path = /cygdrive/c/backup
read only = true
transfer logging = yes
On Linux machine :
- Use the command below to initiate rsync:
rsync -vrt windows_machine::backup /var/backup
NB! Keep in mind that the recipe above is suitable for operations within a secure network.
cwRsync has all ssh binaries you need to establish ssh communication.
Use batch file example in the cwRsync client package to set up communication correctly.
On Windows:
- Install Copssh and cwRsync server. Use the same service account.
- Start RsyncServer and OpenSSHD services
- Activate a user
- Import your public key via Copssh Control Panel:
- Make sure that the user and the service account has write access to c:\backup
- Add a new module to rsyncd.conf :
[backup] path = /cygdrive/c/backup read only = false transfer logging = yes
On Linux:
- Use shell script below after having it updated according to your needs:
#!/bin/bash localport=9119 remoteport=873 remotehost=192.168.100.21 rsyncmodule=backup remoteuser=lab1user sourcedir=/bin/ echo Establishing secure channel ... ssh -L $localport:127.0.0.1:$remoteport $remoteuser@$remotehost -T -N -f rsync -vrt $sourcedir rsync://localhost:$localport/$rsyncmodule echo Terminating secure channel ... ps ax | grep "ssh -L $localport" | awk '{print $1}' | xargs -i kill {} 2&>/dev/null
On WINSERVER:
Install cwRsync Server and Copssh into the same directory.
- Start RsyncServer and OpenSSHD services
- Activate a user (test1 in our example below) via Copssh control panel and specify c:\backup as home directory.
- Add a new module to rsyncd.conf :
[backup] path = /cygdrive/c/backup read only = false transfer logging = yes
on WINCLIENT :
- Download cwRsync client
- Create a batch file for automation (the example below copies contents of c:\windows\fonts\s* to the directory behind the rsync module test at the server side via a secure ssh tunnel:
@ECHO OFF SET CWRSYNC_DIR=C:\cwrsync_client_x64 SET CHANNEL_ID=Secure_Channel_ABC SET LOCALPORT=9119 SET REMOTEPORT=873 SET REMOTEHOST=192.168.100.21 SET REMOTEUSER=lab1user SET RSYNCMODULE=test SET SOURCEDIR=/cygdrive/c/windows/fonts/s* echo Establish secure channel ... start "%CHANNEL_ID%" /MIN %CWRSYNC_DIR%\bin\ssh -L %LOCALPORT%:127.0.0.1:%REMOTEPORT% %REMOTEUSER%@%REMOTEHOST% -T -N -f "%CWRSYNC_DIR%\bin\rsync" -vrt %SOURCEDIR% "rsync://localhost:%LOCALPORT%/%RSYNCMODULE%" echo Terminate secure channel ... taskkill /FI "WINDOWTITLE eq %CHANNEL_ID%"
Assuming that you want to synchronize from directory c:\srcdir on machine WINCLIENT to directory c:\destdir on machine WINSERVER :
On WINSERVER :
- Install cwRsync Server
- Start RsyncServer service
- Make sure that the service account has write access to c:\destdir. You can use Prep a Dir for Upload wizard from start menu.
- Add a new module to rsyncd.conf :
path = /cygdrive/c/destdir
read only = false
transfer logging = yes
On WINCLIENT :
- Download cwRsync client.
- Use the command below to initiate rsync communication:
".\bin\rsync" -av /cygdrive/c/srcdir/ WINSERVER::wintest
NB! Keep in mind that the recipe above is suitable for operations within a secure network.
Assuming that you want to pull directory c:\backup on machine WIN_SOURCE to directory /var/backup on machine LINUX_DEST :
On WIN_SOURCE :
- Install cwRsync Server (without openssh component)
- Start RsyncServer service
- Add a new module to rsyncd.conf :
On LINUX_DEST :
path = /cygdrive/c/backup
read only = true
transfer logging = yes
- Use the command below to initiate rsync:
rsync -av WIN_SOURCE::backup /var/backup
NB! Keep in mind that the recipe above is suitable for operations within a secure network.
From Windows Developer network:
“In the Windows API (with some exceptions discussed in the following paragraphs), the maximum length for a path is MAX_PATH, which is defined as 260 characters. A local path is structured in the following order: drive letter, colon, backslash, name components separated by backslashes, and a terminating null character. For example, the maximum path on drive D is "D:\some 256-character path string<NUL>" where "<NUL>" represents the invisible terminating null character for the current system codepage. (The characters < > are used here for visual clarity and cannot be part of a valid path string.)
The Windows API has many functions that also have Unicode versions to permit an extended-length path for a maximum total path length of 32,767 characters. This type of path is composed of components separated by backslashes, each up to the value returned in the lpMaximumComponentLength parameter of the GetVolumeInformation function (this value is commonly 255 characters). To specify an extended-length path, use the "\\?\" prefix. For example, "\\?\D:\very long path".”
Even if the underlying APIs may have support for really long paths, the problem occurs due to user interface tools like Windows Explorer, Cmd prompt and PowerShell which don't support Unicode variants of the Windows APIs. The result is then path names up to 256 chars. As of version 1.7, Cygwin uses unicode Windows APIs, you can use tools like bash shell or nano editor for management of files/paths with long names.
Log example for cwRsync transfer with long path names:
...
2014/03/25 22:08:42 >f+++++++++ backup/0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
/0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
/0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789
/0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789/testfile
...
Here is a simple recipe ( NB! This is not a very secure solution, since we use null passphrase during generation of public key pairs, use it at your own risk):
- cwRsync client. Generate key pairs :
ssh-keygen -q -t rsa -f cwrsync -N ""
Files cwrsync and cwrsync.pub will be generated.
- Transfer cwrsync.pub to your *nix machine.
- *nix machine. Run following commands:
mkdir -p ~$user/.ssh
cat cwrsync.pub > ~$user/.ssh/authorized_keys
chmod 755 ~$user ~$user/.ssh
chmod 644 ~$user/.ssh/authorized_keys
chown $user ~$user ~$user/.ssh ~$user/.ssh/authorized_keys
- cwRsync client. Update your rsync commands in your batch file by specifying option -e "ssh -i cwrsync".
If you run into permissions problems or your directories' security ACLs are populated by some unwanted groups/users, you need to make sure that:
- File ../etc/fstab exists with at least the content below (with Unix line endings even if the file has only one line!):
none /cygdrive cygdrive binary,posix=0,user,noacl 0 0
That will instruct Cygwin not to touch permissions.
NB! You may experience very slow transfer rates and/or building the file list may take long time. You can remove /etc/fstab and use the option --no-perms option instead. The problem can also be related to real-time anti-virus scanning. Consider file/folder exclusion if possible.
More information:
If you're setting up cwrsync to run as a Service on a Windows machine ensure the .conf file has the line:
strict modes = false
otherwise rsync passwords will not work in Windows.
Windows paths may contain a colon (:) as a part of drive designation and backslashes (example c:\, g:\). However, in rsync syntax, a colon in a path means searching for a remote host.
Solution: use absolute path 'a la unix', replace backslashes (\) with slashes (/) and put -/cygdrive/- in front of the drive letter.
Example :
C:\WORK\* --> /cygdrive/c/work/*
It's trying to fire up ssh because your target has a single colon in it.
server:/path/to/stuff means "fire up ssh or rsh and make me a tunnel to
server"
server::module/path/to/stuff means "try to access an rsync daemon on
server and access path/to/stuff on module"
/path/to/stuff means "access /path/to/stuff on the local machine"
Hope that helps.
by Jim Salter
Use of vocals would be inappropriate (!) as the word rsync has no vocals in it, and this package is also dependent on Cygwin:
CYGWIN + RSYNC
cwRsync client 6.3.0release date: Mon, 04/08/2024
2024 |
||||||||||||||||||||||||
cwRsync client 6.2.12release date: Wed, 03/13/2024
2024 |
||||||||||||||||||||||||
cwRsync client 6.2.11release date: Mon, 10/09/2023
2023 |
||||||||||||||||||||||||
cwRsync client 6.2.10release date: Fri, 09/08/2023
2023 |
||||||||||||||||||||||||
cwRsync client 6.2.9release date: Tue, 07/04/2023
2023 |
||||||||||||||||||||||||
cwRsync client 6.2.8release date: Sat, 02/04/2023
2023 |
||||||||||||||||||||||||
cwRsync client 6.2.7release date: Mon, 10/24/2022
2022 |
||||||||||||||||||||||||
cwRsync client 6.2.5 (security)release date: Wed, 08/17/2022
2022 |
||||||||||||||||||||||||
cwRsync client 6.2.4release date: Wed, 11/17/2021
2021 |
||||||||||||||||||||||||
cwRsync client 6.2.3release date: Sun, 10/03/2021
2021 |
||||||||||||||||||||||||
cwRsync client 6.2.2release date: Sat, 09/18/2021
2021 |
||||||||||||||||||||||||
cwRsync client 6.2.1release date: Tue, 12/29/2020
2020 |
||||||||||||||||||||||||
cwRsync client 6.2.0release date: Sat, 09/26/2020
2020 |
||||||||||||||||||||||||
cwRsync server 6.1.0release date: Tue, 07/14/2020 2020 |
||||||||||||||||||||||||
cwRsync 6.0.1release date: Sat, 02/22/2020 2020 |
||||||||||||||||||||||||
cwRsync 6.0.0release date: Wed, 08/28/2019 2019 |
||||||||||||||||||||||||
cwRsync 5.7.4release date: Tue, 07/02/2019 2019 |
||||||||||||||||||||||||
cwRsync 5.7.3release date: Tue, 10/30/2018 2018 |
||||||||||||||||||||||||
cwRsync 5.7.2release date: Tue, 05/15/2018 2018 |
||||||||||||||||||||||||
cwRsync 5.7.1release date: Wed, 04/11/2018 2018 |
||||||||||||||||||||||||
cwRsync 5.7.0 (security)release date: Tue, 01/30/2018 2018 |
||||||||||||||||||||||||
cwRsync 5.6.0release date: Thu, 10/05/2017 2017 |
||||||||||||||||||||||||
cwRsync 5.5.3release date: Tue, 03/28/2017 2017 |
||||||||||||||||||||||||
cwRsync 5.5.2release date: Tue, 10/04/2016 2016 |
||||||||||||||||||||||||
cwRsync 5.5.1release date: Sun, 05/01/2016 2016 |
||||||||||||||||||||||||
cwRsync 5.5.0 (security)release date: Sun, 12/27/2015 2015 |
||||||||||||||||||||||||
cwRsync 5.4.5release date: Sun, 11/15/2015 2015 |
||||||||||||||||||||||||
cwRsync 5.4.4release date: Wed, 09/09/2015 2015 |
||||||||||||||||||||||||
cwRsync 5.4.2release date: Thu, 02/12/2015 2015 |
||||||||||||||||||||||||
cwRsync 5.4.1release date: Thu, 10/16/2014 2014 |
||||||||||||||||||||||||
cwRsync 5.4.0release date: Tue, 06/24/2014 2014 |
||||||||||||||||||||||||
cwRsync 5.3.0release date: Fri, 04/18/2014 2014 |
||||||||||||||||||||||||
cwRsync 5.2.2release date: Mon, 01/13/2014 2014 |
||||||||||||||||||||||||
Cwrsync 2.1.5release date: Sun, 09/07/2008 2008 |
||||||||||||||||||||||||
Experimental Cwrsync updates with Cygwin 1.7.0release date: Tue, 08/19/2008 2008 |
||||||||||||||||||||||||
Cwrsync 2.1.4release date: Mon, 07/28/2008 2008 |
||||||||||||||||||||||||
Release announcements
- 2024-06-26 Copssh client 7.14.3
- 2024-06-08 Logwot8 3.2.0
- 2024-06-07 Copssh server 8.5.2
- 2024-06-07 Copssh server 7.17.2
- 2024-04-19 Wlighttpd 1.3.0