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

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",
        usr             => "my_ftp_usr_name",
        pass            => "my_ftp_password",
        );
 $um->Update();
 
 or more detailed
 my $um = Net::UploadMirror->new(
        ftpserver               => "my_ftp.hostname.com",
        usr             => "my_ftp_usr_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      => ["private.txt", "Thumbs.db", ".sys", ".log"],
        );
 $um->SetLocalDir("home/nameB/homepageB");
 print("hostname : ", $um->get_ftpserver(), "\n");
 $um->Update();

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. It is not developt for mirroring large archivs. But there are not in principle any limits.

Constructor and Initialization

(object) new (options)

required optines

ftpserver the hostname of the ftp-server
usr the username for authentification
pass password for authentification

optional optiones

localdir local directory to upload or update, default '.'
remotedir remote location to store the files, default '/'
debug set it true for more information about the upload-process, default 1
timeout the timeout for the ftp-serverconnection
delete if you want locally removed files or directories also removed on the remote server set this attribute to "enable", default "disabled"
connection takes a Net::FTP-object you should not use that, it is produced automatically by the UploadMirror-object
(value) get_option (void) =item (1) set_option (value) The functions are generated by AUTOLOAD for all options. The syntax is not case-sensitive and the character '_' is optional.

methods

(1) Update (void) call this function for mirroring automatically, recommended!!!
(ref_hash_local_files, ref_hash_local_dirs) ReadLocalDir (void) Returns two hashreferences first the local-files, second the local-directorys found in the directory given by the UploadMirror-object, uses the attribute "localdir". The values are in the keys.
(ref_hash_remotefiles, ref_hash_remote_dirs) ReadRemoteDir (void) Returns two hashreferences first the remote-files, second the remote-directorys found in the directory given by the UploadMirror-object, uses the attribute "remotedir". The values are in the keys.
(1) Connect (void) Makes the connection to the ftp-server. Uses the attributes "ftpserver", "usr" and "pass" given by the UpoadMirror-object.
(1) Quit (void) Closes the connection with the ftp-server.
(ref_hash_local_paths, ref_hash_remote_paths) LocalNotInRemote (ref_list_new_paths) Takes two hashreferences, given by the functions ReadLocalDir(); and ReadRemoteDir(); to compare with each other. Returns a reference of a list with files or directorys found in the local directory but not in the remote location. Uses the attribute "localdir" and "remotedir" given by the UploadMirror-object.
(ref_hash_local_paths, ref_hash_remote_paths) RemoteNotInLocal (ref_list_deleted_paths) Takes two hashreferences, given by the functions ReadLocalDir(); and ReadRemoteDir(); to compare with each other. Returns a reference of a list with files or directorys found in the remote location but not in the local directory. Uses of the attribure "localdir" and "remotedir" given by the UploadMirror-object.
(ref_hash_modified_files) CheckIfModified (ref_list_local_files) Takes a hashreference of local files to compare the last modification stored in a file "lastmodified_local" while uploading. Returns a reference of a list.
(1) StoreFiles (ref_list_paths) Takes a listreference of local-paths to upload the files via FTP.
(1) MakeDirs (ref_list_paths) Takes a listreference of directorys to make in the remote location.
(1) DeleteFiles (ref_list_paths) Takes a listreference of files to delete in the remote location.
(1) RemoveDirs (ref_list_paths) Takes a listreference of directories to remove in the remote location.

EXPORT

None by default.

SEE ALSO

Net::MirrorDir Net::DownloadMirror http://www.planet-interkom.de/t.knorr/index.html

FILES

Net::MirrorDir Storable File::Basename

BUGS

Maybe you'll find some. Let me know.

AUTHOR

Torsten Knorr, <knorrcpan@tiscali.de>

COPYRIGHT AND LICENSE

Copyright (C) 2005 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.

8 POD Errors

The following errors were encountered while parsing the POD:

Around line 265:

'=item' outside of any '=over'

Around line 267:

You forgot a '=back' before '=head2'

Around line 269:

'=item' outside of any '=over'

Around line 278:

You forgot a '=back' before '=head2'

Around line 280:

'=item' outside of any '=over'

Around line 311:

You forgot a '=back' before '=head2'

Around line 313:

'=item' outside of any '=over'

Around line 363:

You forgot a '=back' before '=head2'