The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Prty::Rsync - Aufruf von rsync von Perl aus

BASE CLASS

Prty::Object

SYNOPSIS

    use Prty::Rsync;
    
    # /src/dir => /dest/dir (gleicher Verzeichnisname)
    
    Prty::Rsync->exec('/src/dir','/dest');
    Prty::Rsync->exec('/src/dir/','/dest/dir');
    
    # /src/dir1 => /dest/dir2 (unterschiedlicher Verzeichnisname)
    Prty::Rsync->exec('/src/dir1/','/dest/dir2');
    
    # Änderungen anzeigen, aber nicht durchführen
    Prty::Rsync->exec($src,$dest,-dryRun => 1);

DESCRIPTION

Führe rsync(1) unter Kontrolle von Perl aus. Die Klasse stützt sich auf die Klasse File::Rsync ab und stellt gegenüber dieser eine spezialisierte, einfachere Schnittstelle zur Verfügung. Eigenschaften:

  • der Aufruf von exec() ohne Optionen entspricht der "Standard-Nutzung" von rsync

  • im Fehlerfall wird eine Exception geworfen

  • eine Ausgabe findet nur im Fehlerfall und bei Änderungen statt, die statistische Ausgabe von rsync unterbleibt

METHODS

Klassenmethoden

exec() - Führe rsync-Kommando aus

Synopsis

    $class->exec($src,$dest,@opt);

Arguments

$src

Quell-Pfad

$dest

Ziel-Pfad

Options

-dryRun => $bool

Füge die Option --dry-run zur Kommandozeile hinzu, d.h. das rsync-Kommando wird ausgeführt, ohne dass Änderungen vorgenommen werden.

Returns

nichts

Description

Führe rsync(1) für Quellpfad $src und Zielpfad $dest aus. Ohne Angabe von Optionen wird als Kommandozeile ausgeführt:

    rsync --archive --verbose --delete SRC DEST

D.h. $src und $dest werden als Verzeichnisse angesehen, wobei Verzeichnis $dest auf exakt den gleichen Stand wie $src gebracht wird.

Schlägt das Kommando fehl, wird eine Exception geworfen.

Die Ausgabe des rsync-Kommandos wird nach STDOUT geschrieben, wobei einige Zeilen entfernt werden, so dass eine Ausgabe nur dann erscheint, wenn Änderungen durchgeführt wurden, d.h. die Zeilen über und unter PROTOKOLL werden entfernt:

    sending incremental file list
    PROTOKOLL
    sent X bytes  received X bytes  X.00 bytes/sec
    total size is X speedup is X.X

Im Dry-Run-Modus wird am Ende (DRY RUN) angezeigt.

VERSION

1.124

AUTHOR

Frank Seitz, http://fseitz.de/

COPYRIGHT

Copyright (C) 2018 Frank Seitz

LICENSE

This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.