NAME
Net::UploadMirror - Perl extension for mirroring a local directory via FTP to the remote location
SYNOPSIS
use Net::UploadMirror;
my $um = Net::UploadMirror->new(
ftpserver => 'my_ftp.hostname.com',
user => 'my_ftp_user_name',
pass => 'my_ftp_password',
);
$um->Upload();
or more detailed:
my $md = Net::UploadMirror->new(
ftpserver => 'my_ftp.hostname.com',
user => 'my_ftp_user_name',
pass => 'my_ftp_password',
localdir => 'home/nameA/homepageA',
remotedir => 'public',
debug => 1 # 1 for yes, 0 for no
timeout => 60 # default 30
delete => 'enable' # default 'disabled'
connection => $ftp_object, # default undef
# "exclusions" default empty arrayreferences [ ]
exclusions => ["private.txt", "Thumbs.db", ".sys", ".log"],
# "subset" default empty arrayreferences [ ]
subset => [".txt, ".pl", ".html", "htm", ".gif", ".jpg", ".css", ".js", ".png"]
# or substrings in pathnames
# exclusions => ["psw", "forbidden_code"]
# subset => ["name", "my_files"]
# or you can use regular expressions
# exclusinos => [qr/SYSTEM/i, $regex]
# subset => {qr/(?i:HOME)(?i:PAGE)?/, $regex]
filename => "modified_times"
);
$um->Upload();
DESCRIPTION
This module is for mirroring a local directory to a remote location via FTP. For example websites, documentations or developmentstuff which ones were worked on locally. Remote files on the ftp-server will be overwritten, also in case they are newer. It is not developt for mirroring large archivs. But there are not in principle any limits.
Constructor and Initialization =item (object) new (options) Net::UploadMirror is a derived class from Net::MirrorDir. For detailed information about constructor or options read the documentation of Net::MirrorDir.
methods
- (1) _Init (%arg) This function is called by the constructor. You do not need to call this function by yourself.
- (1|0) Upload (void) Call this function for mirroring automatically, recommended!!!
- (ref_hash_modified_files) CheckIfModified (ref_array_local_files) Takes a hashreference of local filenames to compare the last modification time, which is stored in a file, named by the attribute "filename", while uploading. Returns a reference of a list.
- (1) UpdateLastModified (ref_array_local_files) Update the stored modified-times of the local files.
- (1|0) StoreFiles (ref_array_paths) Takes a arrayreference of local-paths to upload the files via FTP.
- (1|0) MakeDirs (ref_array_paths) Takes a arrayreference of directories to make in the remote location.
- (1|0) DeleteFiles (ref_array_paths) Takes a arrayreference of files to delete in the remote location.
- (1|0) RemoveDirs (ref_array_paths) Takes a arrayreference of directories to remove in the remote location.
- (1) CleanUp (ref_array_paths) Takes a arrayreference of directories to compare with the keys in the {_last_modified} hash. Is the key not in the array or the value in the hash is incorrect, the key will be deleted.
- (ref_array_local_paths) RtoL (ref_array_remote_paths) Takes a arrayreference of Remotepathnames and returns a arrayreference of the corresponding Localpathnames.
- (ref_array_remote_paths) LtoR (ref_array_local_paths) Takes a arrayreference of Localpathnames and returns a arrayreference of the corresponding Remotepathnames.
optional options
- filename The name of the file in which the last modified times will be stored. default = 'lastmodified_local'
- delete When directories or files are to be deleted = 'enable' default = 'disabled'
EXPORT
None by default.
SEE ALSO
Net::MirrorDir
Net::DownloadMirror
Tk::Mirror
http://freenet-homepage/torstenknorr/index.html
FILES
Net::MirrorDir 0.19
Storable
BUGS
Maybe you'll find some. Let me know.
REPORTING BUGS
When reporting bugs/problems please include as much information as possible.
AUTHOR
Torsten Knorr, E<lt>create-soft@tiscali.deE<gt>
COPYRIGHT AND LICENSE
Copyright (C) 2005 - 2008 by Torsten Knorr
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.9.2 or, at your option, any later version of Perl 5 you may have available.
4 POD Errors
The following errors were encountered while parsing the POD:
- Around line 324:
'=item' outside of any '=over'
- Around line 364:
You forgot a '=back' before '=head2'
- Around line 366:
'=item' outside of any '=over'
- Around line 374:
You forgot a '=back' before '=head2'