Dackup
view release on metacpan or search on metacpan
lib/Dackup/Target/CloudFiles.pm view on Meta::CPAN
555657585960616263646566676869707172737475sub
name {
my
(
$self
,
$entry
) =
@_
;
return
'cloudfiles://'
.
$self
->container->name .
'/'
.
$self
->prefix
.
$entry
->key;
}
sub
update {
my
(
$self
,
$source
,
$entry
) =
@_
;
my
$container
=
$self
->container;
my
$prefix
=
$self
->prefix;
my
$source_type
=
ref
(
$source
);
my
$object
=
$self
->object(
$entry
);
if
(
$source_type
eq
'Dackup::Target::Filesystem'
) {
$object
->put_filename(
$source
->filename(
$entry
) );
}
elsif
(
$source_type
eq
'Dackup::Target::S3'
) {
my
$filename
= tmpnam();
lib/Dackup/Target/Filesystem.pm view on Meta::CPAN
697071727374757677787980818283848586878889sub
filename {
my
(
$self
,
$entry
) =
@_
;
return
file(
$self
->prefix,
$entry
->key );
}
sub
name {
my
(
$self
,
$entry
) =
@_
;
return
'file://'
. file(
$self
->prefix,
$entry
->key );
}
sub
update {
my
(
$self
,
$source
,
$entry
) =
@_
;
my
$source_type
=
ref
(
$source
);
my
$destination_filename
=
$self
->filename(
$entry
);
$destination_filename
->parent->mkpath;
if
(
$source_type
eq
'Dackup::Target::Filesystem'
) {
my
$source_filename
=
$source
->filename(
$entry
);
copy(
$source_filename
->stringify,
$destination_filename
->stringify )
|| confess(
"Error copying $source_filename to $destination_filename: $!"
);
lib/Dackup/Target/S3.pm view on Meta::CPAN
4950515253545556575859606162636465666768
etag
=>
$entry
->md5_hex,
size
=>
$entry
->size,
);
}
sub
name {
my
(
$self
,
$entry
) =
@_
;
return
's3://'
.
$self
->bucket->name .
'/'
.
$self
->prefix .
$entry
->key;
}
sub
update {
my
(
$self
,
$source
,
$entry
) =
@_
;
my
$source_type
=
ref
(
$source
);
my
$object
=
$self
->object(
$entry
);
if
(
$source_type
eq
'Dackup::Target::Filesystem'
) {
$object
->put_filename(
$source
->filename(
$entry
) );
}
else
{
confess
"Do not know how to update from $source_type"
;
}
}
lib/Dackup/Target/SSH.pm view on Meta::CPAN
205206207208209210211212213214215216217218219220221222223224sub
name {
my
(
$self
,
$entry
) =
@_
;
my
$ssh
=
$self
->ssh;
return
'ssh://'
.
$ssh
->{_user} .
'@'
.
$ssh
->{_host}
. file(
$self
->prefix,
$entry
->key );
}
sub
update {
my
(
$self
,
$source
,
$entry
) =
@_
;
my
$ssh
=
$self
->ssh;
my
$source_type
=
ref
(
$source
);
my
$destination_filename
=
$self
->filename(
$entry
);
my
$destination_directory
=
$destination_filename
->parent;
my
$directories
=
$self
->directories;
if
(
$source_type
eq
'Dackup::Target::Filesystem'
) {
my
$source_filename
=
$source
->filename(
$entry
);
( run in 0.253 second using v1.01-cache-2.11-cpan-0f795438458 )