twiki-backup-2024-11-02-16-34.zip
in the backup directory (default /tmp
).
backuprestore
utility can be used to create a backup (scheduled or manually), to copy a backup, and to check on the status of the backup process.
Command | Description |
---|---|
./backuprestore status |
Show backup status. Returns backup_status: 1 if web-based backup is in progress. |
./backuprestore create_backup |
Create a backup. This is done without a background daemon process, e.g. the script returns when the backup is done. |
./backuprestore download_backup <name.zip> |
Dump a backup file to STDOUT. If called as CGI script, download a backup file. |
apache
, nobody
, www-data
, wwwrun
or the like, and depends on the webserver configuration.
twiki/bin
directory before executing the backuprestore
utility.
10 0 * * 0 (cd /path/to/twiki/bin; ./backuprestore create_backup >/dev/null 2>&1)Make sure the plugin is configured properly before creating backups. The backup destination can be local or remote. If remote, the remote server needs to be mounted on the TWiki server via NFS or the like.
{Plugins}{BackupRestorePlugin}{BackupDir}
- Backup destination directory. Default: /tmp
.
{Plugins}{BackupRestorePlugin}{KeepNumberOfBackups}
- keep number of backups (e.g. delete old backups), 0 to keep all. Default: 7
{Plugins}{BackupRestorePlugin}{TempDir}
- temp directory. Default: /tmp
{Plugins}{BackupRestorePlugin}{createZipCmd}
- create zip command. Default: /usr/bin/zip -r
{Plugins}{BackupRestorePlugin}{listZipCmd}
- list zip content command. Default: /usr/bin/unzip -l
{Plugins}{BackupRestorePlugin}{unZipCmd}
- unzip command. Default: /usr/bin/unzip -o
{Plugins}{BackupRestorePlugin}{Debug}
- debug flag. Default: 0
{Plugins}{BackupRestorePlugin}{BackupDir}
configure setting.
twiki-backup-2024-11-02-16-34.zip
- date based names.
data/*
- all data and logs.
pub/*
- all attachments.
working/*
- working data.
working/BackupRestorePlugin/LocalSite.cfg
- TWiki configuration file (if found).
working/BackupRestorePlugin/LocalLib.cfg
- TWiki lib file (if found).
working/BackupRestorePlugin/twiki.conf
- Apache config file (if found).
working/BackupRestorePlugin/version.txt
- contains the TWiki version number of the backup. Used to intelligently restore backup to newer TWiki version. Example: version: TWiki-5.1.0
short: 5.1
working/BackupRestorePlugin/version-long-TWiki-5.1.0.txt
- file with TWiki version in filename
working/BackupRestorePlugin/version-short-5.1.txt
- file with TWiki short-version in filename, name version-short-<major>.<minor>.txt
%BACKUPRESTORE{"..."}%
variable to perform all web-based operations. The variable is used in the BackupRestoreConsole page.
%BACKUPRESTORE{"..."}%
parameters:
Parameter | Explanation | Default |
---|---|---|
action="..." |
Action to take: • "" (empty) - show backup overview console. • "backup_detail" - show backup detail console. • "create_backup" - start new backup. • "cancel_backup" - cancel backup in progress. • "delete_backup" - delete a backup. • "restore_backup" - restore from a backup. • "status" - show backup status (1: backup in progress). • "debug" - debug and diagnostics - {Plugins}{BackupRestorePlugin}{Debug} must be enabled. |
"" (empty) |
file="..." |
Name of backup file to take action. The file parameter is required for the following actions: "backup_detail" , "delete_backup" and "restore_backup" . |
"" |
{Plugins}{BackupRestorePlugin}{BackupDir}
directory.
BackupRestorePlugin.zip
in your twiki installation directory. Content: File: | Description: |
---|---|
bin/backuprestore | CGI/command line utility |
data/TWiki/BackupRestorePlugin.txt | Plugin topic |
data/TWiki/BackupRestoreConsole.txt | Backup and restore console topic |
lib/TWiki/Plugins/BackupRestorePlugin.pm | Plugin Perl module |
lib/TWiki/Plugins/BackupRestorePlugin/CaptureOutput.pm | Perl module |
lib/TWiki/Plugins/BackupRestorePlugin/Core.pm | Core backup module |
lib/TWiki/Plugins/BackupRestorePlugin/ProcDaemon.pm | Perl module |
twiki/lib/LocalSite.cfg
and customize as needed:# Path to backup destination directory. Can be a volume mounted to the file system. $TWiki::cfg{Plugins}{BackupRestorePlugin}{BackupDir} = '/tmp'; # Keep number of backups (e.g. delete old backups), 0 to keep all. $TWiki::cfg{Plugins}{BackupRestorePlugin}{KeepNumberOfBackups} = '7'; # Path to temp directory, used by BackupRestorePlugin daemon for temporary data. $TWiki::cfg{Plugins}{BackupRestorePlugin}{TempDir} = '/tmp'; # Path to zip command with options to recursively archive files and directory. $TWiki::cfg{Plugins}{BackupRestorePlugin}{createZipCmd} = '/usr/bin/zip -r'; # Path to unzip command with options to list all files. $TWiki::cfg{Plugins}{BackupRestorePlugin}{listZipCmd} = '/usr/bin/unzip -l'; # Path to unzip command with options to unzip all files with option to overwrite existing files. $TWiki::cfg{Plugins}{BackupRestorePlugin}{unZipCmd} = '/usr/bin/unzip -o'; # Debug plugin. See output in data/debug.txt $TWiki::cfg{Plugins}{BackupRestorePlugin}{Debug} = 0;
twiki/lib/LocalSite.cfg
file with above $TWiki::cfg
settings and end the file with: 1;
twiki/bin/setlib.cfg
file with this content:my $twikiLibPath = "/path/to/your/twiki/lib"; unshift @INC, $twikiLibPath; 1;
working
directory in the twiki
root (same level as twiki/lib
), and set ownership to the webserver user.
Plugin Author: | TWiki:Main.PeterThoeny, TWiki.org |
Copyright: | © 2011-2018 TWiki:Main.PeterThoeny © 2011-2018 TWiki:TWiki.TWikiContributor © 2004, 2005 Simon Flack (for CPAN:IO::CaptureOutput) © 2007, 2008 David Golden (for CPAN:IO::CaptureOutput) © 1997-2011 by Earl Hood and Detlef Pilzecker (for CPAN:Proc::Daemon) |
License: | GPL (GNU General Public License) |
Plugin Version: | 2018-07-10 |
2018-07-10: | TWikibug:Item7841: Copyright update to 2018 |
2017-12-31: | TWikibug:Item7831: Allow action=debug only if Debug flag set; parameter sanity checks |
2016-01-08: | TWikibug:Item7708: Copyright update to 2016 |
2015-01-09: | TWikibug:Item7604: Switch to GPL v3 |
2013-02-16: | TWikibug:Item7091: Use TWISTY in installation instructions section and change history |
2012-09-03: | TWikibug:Item6837: Doc update with zip utility limitation of 4GB |
2012-01-13: | TWikibug:Item6796: Fixing copyright year to 2012 |
2011-12-19: | TWikibug:Item6799: Improved docs on GNU zip dependency |
2011-09-13: | TWikibug:Item6796: Improved docs on command line use |
2011-09-05: | TWikibug:Item6795: Add restore from backup functionality; upgrade old system topics on restore of old TWiki; describe how to upgrade TWiki |
2011-08-17: | TWikibug:Item6793: Avoid or work around newer APIs to make plugin run on old TWiki-2001-09-01 (Athens Release) for backup |
2011-08-16: | TWikibug:Item6793: Add screenshot; add Config.spec configure file; proper detection of command line mode also for older TWiki versions; use TWiki::Func::registerTagHandler only if available so that plugin can run in older TWiki versions |
2011-08-15: | TWikibug:Item6793: Better error handling; add magic number to download URL to restrict download of backups to TWiki admins only |
2011-08-12: | TWikibug:Item6631: Initial version |
TWiki Dependency: | $TWiki::Plugins::VERSION 1.0 |
CPAN Dependencies: | none ( Proc::Daemon included as TWiki::Plugins::BackupRestorePlugin::ProcDaemon ) ( IO::CaptureOutput included as TWiki::Plugins::BackupRestorePlugin::CaptureOutput ) |
Other Dependencies: | GNU zip and unzip command line utilities |
Perl Version: | 5.005 |
TWiki:Plugins.Benchmark: | GoodStyle nn%, FormattedSearch nn%, BackupRestorePlugin nn% |
Plugin Home: | http://TWiki.org/cgi-bin/view/Plugins/BackupRestorePlugin |
Feedback: | http://TWiki.org/cgi-bin/view/Plugins/BackupRestorePluginDev |
Appraisal: | http://TWiki.org/cgi-bin/view/Plugins/BackupRestorePluginAppraisal |