NAME
Quiq::Rsync - Aufruf von rsync von Perl aus
BASE CLASS
SYNOPSIS
use
Quiq::Rsync;
# /src/dir => /dest/dir (gleicher Verzeichnisname)
Quiq::Rsync->
exec
(
'/src/dir'
,
'/dest'
);
Quiq::Rsync->
exec
(
'/src/dir/'
,
'/dest/dir'
);
# /src/dir1 => /dest/dir2 (unterschiedlicher Verzeichnisname)
Quiq::Rsync->
exec
(
'/src/dir1/'
,
'/dest/dir2'
);
# Änderungen anzeigen, aber nicht durchführen
Quiq::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
$output
=
$class
->
exec
(
$src
,
$dest
,
@opt
);
(
$output
,
$cmd
) =
$class
->
exec
(
$src
,
$dest
,
@opt
);
Arguments
Options
- -dryRun => $bool (Default: 0)
-
Füge die Option --dry-run zur Kommandozeile hinzu, d.h. das rsync-Kommando wird ausgeführt, ohne dass Änderungen vorgenommen werden.
- -print => $bool (Default: 1)
-
Liefere die Ausgabe des rsync-Kommandos nicht nur zurück, sondern gib sie auch auf STDOUT aus.
Returns
Ausgabe des rsync-Kommandos, Beschreibung siehe oben (String). Im List-Kontext liefere zusätzlich das ausgeführte rsync-Kommando (String, String).
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 zurück geliefert, 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.225
AUTHOR
Frank Seitz, http://fseitz.de/
COPYRIGHT
Copyright (C) 2025 Frank Seitz
LICENSE
This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.