What is this?

csync is a file synchronizer especially designed for you, the normal user.

To be more precise csync is a client only bidirectional file synchronizer. You can use csync for different things. The intention is to provide Roaming Home Directories for Linux but you can use it to synchronize your music collection or create a backup of a directory.

csync is a library and ships commandline client by default.

News

csync 0.44.0 STABLE

Version 0.43.0 of csync with enhanced SFTP support is ready for download! csync is a bidirectional file synchronizer for Linux and allows to keep two copies of files and directories in sync. It uses widely adopted protocols like smb or sftp so that there is no need for a server component of csync. It is a user-level program which means there is no need to be a superuser. With pam_csync it is possible to provide roaming home directories in Linux and Active Directory environments.

The userguide is a good place to start with csync.

Packages are available in the download section. Please report bugs to the bugtracker.

ChangeLog

  • Migrated sftp module to libssh 0.4.
  • Added more cache entries to the default config.
  • Added missing requirements.
  • Fixed build warnings.
  • Fixed some memory leaks using sftp attributes.
  • Some code cleanups.

pam_csync 0.42.0 STABLE

This is the stable release of pam_csync 0.42.0. pam_csync is a PAM (Pluggable
Authentication Modules) module to provide roaming home directories for a
user session. This module is aimed at environments with central file servers a
user wishes to store his home directory. The Authentication Module verifies the
identity of a user and triggers a synchronization with the server on the first
login and the last logout.

You can find packages here.

ChangeLog

  • Added support to sync with the Windows Home Directory

csync 0.43.0 STABLE

Version 0.43.0 of csync with SFTP support is ready for download! csync is a bidirectional file synchronizer for Linux and allows to keep two copies of files and directories in sync. It uses widely adopted protocols like smb or sftp so that there is no need for a server component of csync. It is a user-level program which means there is no need to be a superuser. With pam_csync it is possible to provide roaming home directories in Linux and Active Directory environments.

The userguide is a good place to start with csync.

Packages are available in the download section. Please report bugs to the bugtracker.

ChangeLog

  • Added SFTP support with libssh 0.3.
  • Added possibility to pass userdata to the auth function.
  • Added a better version function.
  • Fixed CMake build.
  • Fixed CMake find modules.
  • Documented all public functions.

Slides of SambaXP 2009

As some people already asked you can find the slides of my talk at SambaXP 2009 here.

csync 0.42.0 STABLE

This is it, the first stable release of csync! csync is a bidirectional file synchronizer for Linux and allows to keep two copies of files and directories in sync. It uses widely adopted protocols like smb or sftp so that there is no need for a server component of csync. It is a user-level program which means there is no need to be a superuser. With pam_csync it is possible to provide roaming home directories in Linux and Active Directory environments.

The userguide is a good place to start with csync.

Packages are available in the download section. Please report bugs to the bugtracker.

NOTE: If you want to use csync with sftp. Compile the latest libssh version from svn and apply this patch to the csync source.

csync for Maemo

Thanks to Jan-Simon Möller, csync is available for the Meamo plattform to. You find all information at:

http://www.csync.org/maemo/

csync 0.42.0 rc3

This is the third and hopefully the last release candidate of csync 0.42.0.
csync is a bidirectional file synchronizer for Linux and allows to keep two
copies of files and directories in sync. It uses uses widly adopted protocols
like smb or sftp so that there is no need for a server component of csync. It
is a user-level program which means there is no need to be a superuser. With
pam_csync it is possible to create roaming home directories.

The userguide is a good place to start with csync.

Packages are available in the download section. Please report bugs to the bugtracker.

ChangeLog

  • Added checks for unix extensions.
  • Added more documentation to the userguide.
  • Fixed loading of plugins.
  • Fixed call for deletion functions.
  • Normalize the path to <hostname>/<path> for the statedb filename.
  • More change name of client options to be more descriptive.

The change to normalize path for the statedb filename means that it do a full sync. It could happen that deleted files will reappear.

NOTE: sftp is still really slow. This will be fixed with the next libssh version and I will release a new csync version which works with libssh 0.2.1.

csync 0.42.0 rc2

This is the second and hopefully the last release candidate of csync 0.42.0.
csync is a bidirectional file synchronizer for Linux and allows to keep two
copies of files and directories in sync. It uses uses widly adopted protocols
like smb or sftp so that there is no need for a server component of csync. It
is a user-level program which means there is no need to be a superuser. With
pam_csync it is possible to create roaming home directories.

The first release candidate hasn’t been released to the public cause of a bug
in the state database. This has been fixed now. The userguide is available too.

Packages are available in the download section. Please report bugs to the bugtracker.

ChangeLog

  • Reduced syscalls
  • Fixed a bug in the state database
  • Fixed libsmbclient support
  • Completed userguide

NOTE: sftp is still really slow. This will be fixed with the next libssh version and I will release a new csync version which works with libssh 0.2.1.

pam_csync 0.42.0 beta2

This is the second beta release of csync 0.42.0. pam_csync is a PAM (Pluggable
Authentication Modules) module to provide roaming home directories for a
user session. This module is aimed at environments with central file servers a
user wishes to store his home directory. The Authentication Module verifies the
identity of a user and triggers a synchronization with the server on the first
login and the last logout.

There is a bug in several PAM applications calling the PAM functions on logout
in the wrong order. Take a look at:

gdm calls pam functions in the wrong order
http://bugzilla.gnome.org/show_bug.cgi?id=557794

OpenSSH calls pam functions in the wrong order on logout
https://bugzilla.mindrot.org/show_bug.cgi?id=1534

If you have ’su’ (switch user) with pam support, check the patch
if it calls the functions in the right order.

You can find packages here.

ChangeLog

  • Improved debugging output
  • Fixed some PAM problems introduce by buggy gdm, su, openssh
  • Fixed kerberos support
  • Code cleanups

NOTE: If you want to use csync with sftp. Compile the latest libssh version from svn and apply this patch to the csync source.

csync and pam_csync 0.42.0 beta1

This is the first beta release of csync 0.42.0. csync is a bidirectional file synchronizer for Linux and allows to keep two copies of files and directories in sync. It uses uses widly adopted protocols like smb or sftp so that there is no need for a server component of csync. It is a user-level program which means there is no need to be a superuser. With pam_csync it is possible to create roaming home directories.

This version fixes several bugs to increase the stability of the file synchronizer. It provides a new plugin to synchronize two replicas with the sftp protocol. To get the csync sftp plugin working you need libssh 0.2 with the following two patches:

Map permission fields
Errno mapping

Packages

Source: csync-0.41.95.tar.gz (140 KB)
md5sum: csync-0.41.95.tar.gz.md5

Source: pam_csync-0.41.93.tar.gz (28 KB)
md5sum: pam_csync-0.41.93.tar.gz.md5

Packages for Fedora 9, openSUSE and SUSE Linux Enterprise 10 can be downloaded here.

ChangeLog

csync

libcsync

  • Added a sftp module using libssh
  • Added user guide (just a start)
  • Added testcase for update detection
  • Added a function to parse an uri to cstdlib
  • Updated the manpage
  • Fixed some segfaults in cstdlib
  • Fixed some memory leaks

csync

  • Improved the auth callback

pam_csync

  • Fixed return codes of the forked child process
  • Code cleanups