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

Mozilla::Backup::Plugin::FileCopy - A file copy plugin for Mozilla::Backup

SYNOPSIS

  use Mozilla::Backup;

  my $moz = Mozilla::Backup->new(
    plugin => 'Mozilla::Backup::Plugin::FileCopy'
  );
  

DESCRIPTION

This is a plugin for Mozilla::Backup which copies profiles to another directory.

new
  $plugin = Mozilla::Backup::Plugin::FileCopy->new( %options );

The following %options are supported:

log

The Log::Dispatch objetc used by Mozilla::Backup. This is required.

debug

The debug flag from Mozilla::Backup. This is not used at the moment.

allowed_options
  @options = Mozilla::Backup::Plugin::FileCopy->allowed_options();

  if (Mozilla::Backup::Plugin::FileCopy->allowed_options('debug')) {
    ...
  }

If no arguments are given, it returns a list of configuration parameters that can be passed to the constructor. If arguments are given, it returns true if all of the arguments are allowable options for the constructor.

munge_location
  $directory = $plugin->munge_location( $directory );

Munges the backup location name for use by this plugin. (Currently has no effect.)

open_for_backup
  if ($plugin->open_for_backup( $filename, %options )) {
    ...
  }

Creates a new archive for backing the profile. $filename is the name of the archive file to be used. %options are optional configuration parameters.

open_for_restore
  if ($plugin->open_for_restore( $filename, %options )) {
    ...
  }

Opens an existing archive for restoring the profile.

get_contents
  @files = $plugin->get_contents;

Returns a list of files in the archive.

backup_file
  $plugin->backup_file( $local_file, $internal_name );

Backs up the file in the archive, using $internal_name as the name in the archive.

restore_file
  $plugin->restore_file( $internal_name, $local_file );

Restores the file from the archive.

close_backup
  $plugin->close_backup();

Closes the backup.

close_restore
  $plugin->close_restore();

Closes the restore.

EXAMPLES

Creating archvies other than zip or tar.gz

If you would like to create backups in a format for which no plugin is available, you can use Mozilla::Backup::Plugin::FileCopy with a system call to the appropriate archiver. For example,

  $moz = Mozilla::backup->new(
    plugin => "Mozilla::Backup::Plugin::FileCopy",
  );

  $dest = $moz->backup_profile(
    type => "firefox",
    name => "default",
  );

  system("tar cf - $dest |bzip2 - > firefox-default-profile.tar.bz2");

AUTHOR

Robert Rothenberg <rrwo at cpan.org>

LICENSE

Copyright (c) 2005 Robert Rothenberg. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.