fsbackup - file system backup and synchronization utility.
fsbackup.pl [options] <configuration file>
"fsbackup.pl" is a incremental backup creation
utility. "fsbackup.pl" support backup
compression and encryption. Backup can be stored on local file system and on
remote host stored over SSH or FTP. Some addition scripts allow backups SQL
tables from PostgreSQL and MySQL
("pgsql_backup.sh" and
"mysql_backup.sh")), save system
configuration files and list of installed packages
("sysbackup.sh"). Backuped with
"fsbackup.pl" files can be recovered by
script "fsrestore.sh", backuped with
"sysbackup.sh" system packeges can be
reinstalled by "sysrestore.sh"
The following command-line options can be used with
"fsbackup.pl":
- "-n"
- Create new backup without checking files in previously stored hash.
- "-f"
- Create full backup, like as "-n"
option.
- "-h"
- Only rebuild hash, no storing files in backup archive.
- "-c"
- Clean incremental backup storage and create new full backup without
checking $cfg_increment_level config
parameter.
- "create_backup.sh"
- Backup planner running from "crontab".
For example:
18 4 * * * /usr/local/fsbackup/create_backup.sh
- "install.pl"
- Script to install fsbackup package and some required perl modules.
- "fsbackup.pl"
- File system backup utility.
- "cfg_example"
- Example of configuration file.
- "scripts/pgsql_backup.sh"
- "scripts/mysql_backup.sh"
- Script for backup SQL tables from PostreSQL and MySQL.
- "scripts/sysbackup.sh"
- Script for store system configuration files and information about
installed packages.
- "scripts/fsrestore.sh"
- Script for restore files backuped by
"fsbackup.pl".
- "scripts/sysrestore.sh"
- Script for reinstall packages stored by
"sysbackup.sh".
- $cfg_backup_name = 'test_host'
- Name of backup, single word.
- $cfg_cache_dir = '/usr/local/fsbackup/cache'
- Path of internal cache directory for local backup method.
- $prog_md5sum = 'md5sum -b'
- $prog_tar = 'tar'
- $prog_ssh = 'ssh'
- $prog_rm = 'rm'
- $prog_gzip = 'gzip'
- $prog_pgp = 'gpg'
- Full path of some external program running from
"fsbackup.pl".
$prog_gzip = '' - not use compression,
$prog_pgp = '' - not use encryption.
- $cfg_checksum = 'timesize'
- File checksum method:
timesize - checksum of file attributes (default, best
speed)
md5 - checksum of file attributes + MD5 checksum of file
content.
- $cfg_backup_style = 'backup'
- Backup style:
backup - incremental backup (copy only new and changed
files).
full_backup - full backup (copy all files).
sync - file tree synchronization.
hash - hash creation without storing archive (spying for new
or changed files).
- $cfg_increment_level = 7
- Incremental level (after how many incremental copy make full refresh of
backup)
- $cfg_type = 'remote_ssh'
- Type of backup storage:
local - store backup on local file system.
remote_ssh - store backup on remote host over SSH connection.
remote_ftp - store backup on remote FTP server.
- $cfg_remote_host = 'backup-server.test.ru'
- $cfg_remote_login = 'backup_login'
- $cfg_remote_path = '/home/backup_login/backup'
- Connection parameters for remote_ssh storage type.
- $cfg_remote_password = 'Test1234'
- Password of remote login for remote_ftp storage type.
- $cfg_remote_ftp_mode = 0
- FTP transfer mode. 0 - Active mode, 1 - Passive mode.
- $cfg_local_path = '/var/backup/'
- Path of directory to store backup on local file system for local storage
type.
- $cfg_time_limit = 0
- Limit of file creation time in days. If not 0, don't backup files created
or modified later then $cfg_time_limit
(days).
- $cfg_size_limit = 0
- Limit of maximum file size. If not 0, don't backup files witch size more
then $cfg_time_limit kilobytes.
- $cfg_root_path = '/'
- Root path for initial chdir.
- $cfg_pgp_userid = ''
- Name of user in public key ring with public key will be used for PGP
encryption. Not use encryption if not set.
- $cfg_verbose = 3
- Verbose level.
0 - Silent mode, suspend all output, except fatal configuration errors.
1 - Output errors and warnings.
2 - Output all the available data.
- $cfg_save_old_backup = 1
- Save previous backup to OLD directory before rotation or before storing
full backup.
0 - don't save old backup
1 - save old backup.
- $cfg_maximum_archive_size = 0
- Size of maximum size (in KiloBytes) of single unpacked archive file (0 -
unlimited file size).
- $cfg_stopdir_prune = 0
- Recursive review of the prohibited directories.
0 - Recursively to view all contents of directories marked for backup,
including contents of directories prohibited by '!', '!d' and '=! rules.
1 - not use a recursive entrance to directory prohibited for backup (speed
is increased, reduces flexibility of customization).
- __DATA__ - list of backuped path and regexp mask.
-
/dir[/file] - backup file or directory.
!/dir[/file] - NOT include this file or directory to backup.
# - ignore this line.
Mask:
=~ - regexp mask for include file or directory to backup.
f~ - regexp file mask for include file to backup.
d~ - regexp directory mask for include directory to backup.
=! - regexp mask for NOT include file or directory to backup.
f! - regexp file mask for NOT include file to backup.
d! - regexp directory mask for NOT include directory to backup.
Operation priority:
1. =!
2. f!
3. f~
4. d!
5. =~
6. d~
7. !path
8. path
Copyright (c) 2001 by Maxim Chirkov <mc@tyumen.ru>
http://www.opennet.ru/dev/fsbackup/
Maxim Chirkov <mc@tyumen.ru>