The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

Net::UploadMirror - Perl extension for mirroring 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

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 for more information about the upload-process, default 1
timeout the timeout for the ftp-serverconnection
delete if you want locally removed files also removed from the remote location 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. The values are in the keys. Uses the attribute "localdir" given by the UploadMirrr-object.
(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. The values are in the keys. Uses the attribute "remotedir" given by the UploadMirro-object.
(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) CheckIfNew (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) CheckIfDeleted (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 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" 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) DeleteDirs (ref_list_paths) Takes a listreference of directories to remove in the remote location.

EXPORT

None by default.

SEE ALSO

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

FILES

Net::FTP Storable File::Basename They should be standard.

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 464:

'=item' outside of any '=over'

Around line 466:

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

Around line 468:

'=item' outside of any '=over'

Around line 477:

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

Around line 479:

'=item' outside of any '=over'

Around line 509:

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

Around line 511:

'=item' outside of any '=over'

Around line 561:

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