This is my first attempt at somewhat proper documentation for Backup Copy. Hopefully this will provide an easy, quick guide to using this program. If there is anything that you feel should be changed, or if I should be knocked-up-side the head about, please let me know. (c; Contact info is at the bottom of this file.
Backup Copy is basically a smart copy program that allows a user to copy mass files from one place to another. When coping over a previous copy, the key features will allow coping only of new or non existing files in the backup. This results in saving time and less load on the drive. Built into the same feature of copying new files only, is a file removal procedure. If a file is removed from the source path, the same file will be removed when the next backup is performed. This provides a backup that is exactly the same as the source without filling up the drive. As an added option, all files that will be overwritten or deleted when doing a copy over a previous backup, have the opportunity to be stored in a trash bin. You can leave this trash bin to grow and grow just in case you need a backup of your backup. When you start running out of disk space you will need to remove or clean up the trash bin.
The installation is very simple. Run the following:
$ ./configure
$ make
# make install
usage: cpbk [OPTIONS] SOURCE... DEST
or: [OPTIONS] cpbk -c FILE
Options:
Specify a configuration file. See sub section "Config File" below on how to use the configurationfile.
Exclude specified directories and/or files from the copy. This option is handy for excluding NFS mounts that might result in multiple copies of the same files. Also if you are backup a directory which contains your destination directory for you backup, excluding your destination directory would be mandatory.
Move all overwritten or removed files from the last backup to the specified trashbin.
Display a listing of each name of new files, updated files, removed files, new directories and removed directories.
Display the number of new files, updated files, removed files, new directories and removed directories.
Perform ordering simulation. It doesn't actually change any files/directories.
Copy all files whether updated or not.
Enable using ctime that is changed by writing or by setting inode information for file comparison check. Cpbk assume a file has been updated with this option if the ctime is changed.
Ignore minor error that process can proceed. It may be danger. Please use this feature carefully.
Quite mode. Suppress all error messages and progress information.
Suppress progress information.
Verbose mode. Display processed file names.
Display help and exit.
Display version information and exit.
Copy only updated files (or newly added files) from source directory to destination directory from the previous backup. And remove any files that have been removed from source directory from the previous backup.
Perform the same action as 1st example, except copy all files that are being overwritten or removed from the previous backup to a trash bin.
Perform the exact same action as 2nd example except exclude two directories that are located in the source.
If you so desire you may use a configuration file for some options. The file "sample.cpbkrc" should also have been included with your copy of Backup Copy. Below I will list how to to use each option for Backup Copy.
(Notes: configuration in the file can be overrode by command line options)
As a standard rule, ON and OFF will be represented as follows:
To toggle an option, simple place an equal mark then a True or False after the option. ie, this will turn an option on :
OPTION = True
Configuration Options:
Specify a directory that you would like to copy your files from. For example:
Source = /home/foo
Specify a directory that you would like to copy your file to. For example:
Dest = /home/backup
Specify directories and/or files that you would like to exclude. If you want to specify multiple directories or files, write multiple parameters. Same as --exclude option. For example:
Exclude = /home/foo/garbage Exclude = /home/foo/temp
Set this parameter to False if you want to remove excluded directories and files from destination directory.
Move all overwritten or removed files from the last backup to the specified trash bin directory. Same as --trash-bin option. For example:
TrashBin = /home/foo/trashbin
Perform ordering simulation. It doesn't actually change any files/directories. Same as --simulate option.
Copy all files whether updated or not. Same as --force option.
Enable using ctime that is changed by writing or by setting inode information for file comparison check. Cpbk assume a file has been updated with this option if the ctime is changed. Same as --inode-ctime option.
Enable using file size for file comparison check.
Ignore minor error that process can proceed. Same as --ignore-minor-error option.
Quite mode. Suppress all error messages and progress information. Same as --inode-ctime option.
Suppress progress information. Same as --suppress-progress option.
Verbose mode. Display processed file names. Same as --verbose option.
Copyright (C) 1998 Kevin Lindsay <klindsay@mkintraweb.com>
Copyright (C) 2001 Yuuki NINOMIYA <gm@debian.or.jp>
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
This software uses shhopt for parsing command line options. Shhopt is released under the Artistic License. You can use it separately under the Artistic License if you want.
None.
Support for --one-file-system option. It is for skipping subdirectories that are on different filesystems from the one that the copy started on.
None.
Comments, suggestions, bug reports and patches are always welcome. Please mail them to the following address.
Kevin Lindsay <klindsay@mkintraweb.com> (original author)
Yuuki NINOMIYA <gm@debian.or.jp> (after Ver 3.0.0 author)
The latest official release of cpbk is available from:
http://www.enjoy.ne.jp/~gm/program/cpbk/index.html
You can get the latest source code with Anonymous CVS. Specify `:pserver:anonymous@linuxlovers.yi.org:/var/cvs' as repository, `cpbk' as project name, `anonymous' as password.
% cvs -d :pserver:anonymous@linuxlovers.yi.org:/var/cvs login (Logging in to anonymous@linuxlovers.yi.org) CVS password: anonymous % cvs -d :pserver:anonymous@linuxlovers.yi.org:/var/cvs checkout cpbk
See http://www.cvshome.org/docs/manual/index.html for details about CVS.
Thanks to many people who send me comments, bug reports and suggestions.
And thank you for using cpbk!