The http/cgi user interface has internationalization (i18n) support,
currently providing English, French, German, Spanish, Italian,
-Dutch and Portuguese-Brazilian.
+Dutch, Polish, Portuguese-Brazilian and Chinese
=item *
-No client-side software is needed. On WinXX the standard smb protocol is
-used to extract backup data. On linux, unix or MacOSX clients, rsync or
-tar (over ssh/rsh/nfs) is used to extract backup data. Alternatively,
-rsync can also be used on WinXX (using cygwin), and Samba could be
-installed on the linux or unix client to provide smb shares).
+No client-side software is needed. On WinXX the standard smb
+protocol is used to extract backup data. On linux, unix or MacOSX
+clients, rsync, tar (over ssh/rsh/nfs) or ftp is used to extract
+backup data. Alternatively, rsync can also be used on WinXX (using
+cygwin), and Samba could be installed on the linux or unix client
+to provide smb shares).
=item *
Two popular open source packages that do tape backup are
Amanda (L<http://www.amanda.org>)
and Bacula (L<http://www.bacula.org>).
-Amanda can also backup WinXX machines to tape using samba.
-These packages can be used as back ends to BackupPC to backup the
-BackupPC server data to tape.
+These packages can be used as complete solutions, or also as back
+ends to BackupPC to backup the BackupPC server data to tape.
Various programs and scripts use rsync to provide hardlinked backups.
See, for example, Mike Rubel's site (L<http://www.mikerubel.org/computers/rsync_snapshots>),
=head2 Road map
The new features planned for future releases of BackupPC
-are at L<http://backuppc.sourceforge.net/faq/roadMap.html>.
+are on the Wiki at L<http://backuppc.wiki.sourceforge.net>.
Comments and suggestions are welcome.
Several users have reported significantly better performance using
reiserfs compared to ext3 for the BackupPC data file system. It is
also recommended you consider either an LVM or RAID setup (either
-in HW or SW; eg: 3Ware RAID5) so that you can expand the
+in HW or SW; eg: 3Ware RAID10 or RAID5) so that you can expand the
file system as necessary.
When BackupPC starts with an empty pool, all the backup data will be
=item *
-If you are using tar to backup linux/unix machines you should have version
-1.13.7 at a minimum, with version 1.13.20 or higher recommended. Use
+If you are using tar to backup linux/unix machines, those machines should have
+version 1.13.7 at a minimum, with version 1.13.20 or higher recommended. Use
"tar --version" to check your version. Various GNU mirrors have the newest
-versions of tar, see for example L<http://www.funet.fi/pub/gnu/alpha/gnu/tar>.
-As of July 2006 the latest version is 1.15.1.
+versions of tar; see L<http://www.gnu.org/software/tar/>.
=item *
To use rsync and rsyncd with BackupPC you will need to install File::RsyncP.
You can run "perldoc File::RsyncP" to see if this module is installed.
File::RsyncP is available from L<http://perlrsync.sourceforge.net>.
-Version 0.52 or later is required.
+Version 0.68 or later is required.
+
+=item File::RsyncP
+
+To use ftp with BackupPC you will need to install three libraries:
+Net::FTP, Net::FTP::RetrHandle and Net::FTP::AutoReconnect. You can
+run "perldoc Net::FTP" to see if a particular module is installed.
=back
-To build and install these packages, fetch the tar.gz file and
-then run these commands:
+To build and install these packages you should use the cpan program.
+Alternatively, you can fetch the tar.gz file from L<http://www.cpan.org>
+and then run these commands:
- tar zxvf Archive-Zip-1.16.tar.gz
- cd Archive-Zip-1.16
+ tar zxvf Archive-Zip-1.26.tar.gz
+ cd Archive-Zip-1.26
perl Makefile.PL
make
make test
=head2 Step 3: Setting up config.pl
After running configure.pl, browse through the config file,
-__CONFDIR__/config.pl, and make sure all the default settings
-are correct. In particular, you will need to decide whether to use
-smb, tar or rsync transport (or whether to set it on a per-PC basis)
-and set the relevant parameters for that transport method.
-See the section L<Client Setup|step 5: client setup> for more details.
+__CONFDIR__/config.pl, and make sure all the default settings are
+correct. In particular, you will need to decide whether to use
+smb, tar,or rsync or ftp transport (or whether to set it on a
+per-PC basis) and set the relevant parameters for that transport
+method. See the section L<Client Setup|step 5: client setup> for
+more details.
=head2 Step 4: Setting up the hosts file
=head2 Step 5: Client Setup
-Three methods for getting backup data from a client are supported: smb,
-tar and rsync. Smb or rsync are the preferred methods for WinXX clients
-and rsync or tar are the preferred methods for linux/unix/MacOSX clients.
+Four methods for getting backup data from a client are supported:
+smb, tar, rsync and ftp. Smb or rsync are the preferred methods
+for WinXX clients and rsync or tar are the preferred methods for
+linux/unix/MacOSX clients.
The transfer method is set using the $Conf{XferMethod} configuration
setting. If you have a mixed environment (ie: you will use smb for some
The relevant configuration settings are $Conf{RsyncdClientPort},
$Conf{RsyncdUserName}, $Conf{RsyncdPasswd}, $Conf{RsyncdAuthRequired},
-$Conf{RsyncShareName}, $Conf{RsyncArgs}, and $Conf{RsyncRestoreArgs}.
-$Conf{RsyncShareName} is the name of an rsync module (ie: the thing
-in square brackets in rsyncd's conf file -- see rsyncd.conf), not a
-file system path.
+$Conf{RsyncShareName}, $Conf{RsyncArgs}, $Conf{RsyncArgsExtra}, and
+$Conf{RsyncRestoreArgs}. $Conf{RsyncShareName} is the name of an rsync
+module (ie: the thing in square brackets in rsyncd's conf file -- see
+rsyncd.conf), not a file system path.
Be aware that rsyncd will remove the leading '/' from path names in
symbolic links if you specify "use chroot = no" in the rsynd.conf file.
See the rsyncd.conf manual page for more information.
+=item ftp
+
+You need to be running an ftp server on the client machine.
+The relevant configuration settings are $Conf{FtpShareName},
+$Conf{FtpUserName}, $Conf{FtpPasswd}, $Conf{FtpBlockSize},
+$Conf{FtpPort}, $Conf{FtpTimeout}, and $Conf{FtpFollowSymlinks}.
+
=back
You need to set $Conf{ClientCharset} to the client's charset so that
program like stunnel.
Setup instructions for ssh can be found at
-L<http://backuppc.sourceforge.net/faq/ssh.html>.
+L<http://backuppc.sourceforge.net/faq/ssh.html> or on the Wiki.
=item Clients that use DHCP
When the restore job is run, smbclient, tar, rsync or rsyncd is used
(depending upon $Conf{XferMethod}) to actually restore the files.
Sorry, there is currently no option to cancel a restore that has been
-started.
+started. Currently ftp restores are not fully implemented.
A record of the restore request, including the result and list of
files and directories, is kept. It can be browsed from the host's
=back
As BackupPC_tarExtract extracts the files from smbclient or tar, or as
-rsync runs, it checks each file in the backup to see if it is identical
-to an existing file from any previous backup of any PC. It does this
-without needed to write the file to disk. If the file matches an
-existing file, a hardlink is created to the existing file in the pool.
-If the file does not match any existing files, the file is written to
-disk and the file name is saved in __TOPDIR__/pc/$host/NewFileList for
-later processing by BackupPC_link. BackupPC_tarExtract and rsync can handle
-arbitrarily large files and multiple candidate matching files without
-needing to write the file to disk in the case of a match. This
+rsync or ftp runs, it checks each file in the backup to see if it is
+identical to an existing file from any previous backup of any PC. It
+does this without needed to write the file to disk. If the file matches
+an existing file, a hardlink is created to the existing file in the
+pool. If the file does not match any existing files, the file is written
+to disk and the file name is saved in __TOPDIR__/pc/$host/NewFileList
+for later processing by BackupPC_link. BackupPC_tarExtract and rsync
+can handle arbitrarily large files and multiple candidate matching files
+without needing to write the file to disk in the case of a match. This
significantly reduces disk writes (and also reads, since the pool file
comparison is done disk to memory, rather than disk to disk).
=item XferERR or XferERR.z
-Output from the transport program (ie: smbclient, tar or rsync)
+Output from the transport program (ie: smbclient, tar, rsync or ftp)
for the most recent failed backup.
=item new
=item XferLOG or XferLOG.z
-Output from the transport program (ie: smbclient, tar or rsync)
+Output from the transport program (ie: smbclient, tar, rsync or ftp)
for the current backup.
=item nnn (an integer)
=item XferLOG.nnn or XferLOG.nnn.z
-Output from the transport program (ie: smbclient, tar or rsync)
+Output from the transport program (ie: smbclient, tar, rsync or ftp)
corresponding to backup number nnn.
=item RestoreInfo.nnn
=item nFiles
-Number of files backed up (as reported by smbclient, tar or rsync).
+Number of files backed up (as reported by smbclient, tar, rsync or ftp).
=item size
-Total file size backed up (as reported by smbclient, tar or rsync).
+Total file size backed up (as reported by smbclient, tar, rsync or ftp).
=item nFilesExist
=item xferErrs
-Number of errors or warnings from smbclient, tar or rsync.
+Number of errors or warnings from smbclient, tar, rsync or ftp.
=item xferBadFile
=item xferErrs
-Number of errors from smbclient, tar or rsync during restore.
+Number of errors from smbclient, tar, rsync or ftp during restore.
=back
=head1 Copyright
-Copyright (C) 2001-2007 Craig Barratt
+Copyright (C) 2001-2009 Craig Barratt
=head1 Credits
Jeremy Tietsort provided the host summary table sorting feature for 3.1.0.
+Paul Mantz contributed the ftp Xfer method for 3.2.0.
+
Many people have reported bugs, made useful suggestions and helped
with testing; see the ChangeLog and the mailing lists.