Provided by: rex_1.6.0-1_all bug

NAME

       Rex::Commands::Rsync - Simple Rsync Frontend

DESCRIPTION

       With this module you can sync 2 directories via the rsync command.

       Version <= 1.0: All these functions will not be reported.

       All these functions are not idempotent.

DEPENDENCIES

       Expect
           The Expect Perl module is required to be installed on the machine executing the rsync
           task.

       rsync
           The rsync command has to be installed on both machines involved in the execution of
           the rsync task.

SYNOPSIS

        use Rex::Commands::Rsync;

        sync "dir1", "dir2";

EXPORTED FUNCTIONS

   sync($source, $dest, $opts)
       This function executes rsync to sync $source and $dest.

       If you want to use sudo, you need to disable requiretty option for this user. You can do
       this with the following snippet in your sudoers configuration.

        Defaults:username !requiretty

       UPLOAD - Will upload all from the local directory html to the remote directory
       /var/www/html.
            task "sync", "server01", sub {
              sync "html/*", "/var/www/html", {
               exclude => "*.sw*",
               parameters => '--backup --delete',
              };
            };

            task "sync", "server01", sub {
              sync "html/*", "/var/www/html", {
               exclude => ["*.sw*", "*.tmp"],
               parameters => '--backup --delete',
              };
            };

       DOWNLOAD - Will download all from the remote directory /var/www/html to the local
       directory html.
            task "sync", "server01", sub {
              sync "/var/www/html/*", "html/", {
               download => 1,
               parameters => '--backup',
              };
            };