From: <de...@de...> - 2011-08-07 19:22:21
|
Author: PeterThoeny Date: 2011-08-07 14:22:15 -0500 (Sun, 07 Aug 2011) New Revision: 21913 Trac url: http://develop.twiki.org/trac/changeset/21913 Modified: twiki/trunk/BackupRestorePlugin/lib/TWiki/Plugins/BackupRestorePlugin/Core.pm Log: Item6631: Backup & Restore Utility - adding backup semaphor logic Modified: twiki/trunk/BackupRestorePlugin/lib/TWiki/Plugins/BackupRestorePlugin/Core.pm =================================================================== --- twiki/trunk/BackupRestorePlugin/lib/TWiki/Plugins/BackupRestorePlugin/Core.pm 2011-08-07 17:49:29 UTC (rev 21912) +++ twiki/trunk/BackupRestorePlugin/lib/TWiki/Plugins/BackupRestorePlugin/Core.pm 2011-08-07 19:22:15 UTC (rev 21913) @@ -53,6 +53,7 @@ bless( $this, $class ); $this->{Location} = $this->_gatherLocation(); + $this->{SemaphorFile} = $this->{TempDir} . '/BackupRestorePlugin.dat'; $this->{error} = ''; return $this; @@ -167,37 +168,48 @@ #================================================================== #================================================================== +sub _checkBackupState { + my( $this ) = @_; + return( -e $this->{SemaphorFile}, $this->_buildFileName() ); +} + +#================================================================== sub _startBackup { my( $this, $session, $params ) = @_; + if( -e $this->{SemaphorFile} ) { + $this->{error} = 'ERROR: Backup is already in progress.'; + } else { + my $text = "File: " . $this->_buildFileName() . "\n"; + _saveFile( $this->{SemaphorFile}, $text ); + #FIXME: start backup + } } #================================================================== sub _cancelBackup { my( $this, $session, $params ) = @_; + if( -e $this->{SemaphorFile} ) { + #FIXME: kill backup + unlink( $this->{SemaphorFile} ); + } else { + $this->{error} = 'ERROR: No backup in progress.'; + } } #================================================================== sub _deleteBackup { my( $this, $session, $params ) = @_; - + #FIXME } #================================================================== sub _restoreFromBackup { my( $this, $session, $params ) = @_; - + #FIXME } -#================================================================== -sub _checkBackupState { - my( $this ) = @_; -#FIXME - my $inProgress = 1; - my $fileName = $this->_buildFileName(); - return( $inProgress, $fileName ); -} #================================================================== # LOW-LEVEL METHODS @@ -286,15 +298,17 @@ my $text = ''; $text .= "\n<br />===== Dirs <pre>\n" - . "-BaseTopic: $this->{BaseTopic}\n" - . "-BaseWeb: $this->{BaseWeb}\n" - . "-Root: $this->{Location}{RootDir}\n" - . "-DataDir: $this->{Location}{DataDir}\n" - . "-PubDir: $this->{Location}{PubDir}\n" - . "-WorkingDir: $this->{Location}{WorkingDir}\n" - . "-LocalLib: $this->{Location}{LocalLib}\n" - . "-LocalSite: $this->{Location}{LocalSite}\n" - . "-ApacheConf: $this->{Location}{ApacheConf}\n" + . "-BaseTopic: $this->{BaseTopic}\n" + . "-BaseWeb: $this->{BaseWeb}\n" + . "-Root: $this->{Location}{RootDir}\n" + . "-DataDir: $this->{Location}{DataDir}\n" + . "-PubDir: $this->{Location}{PubDir}\n" + . "-WorkingDir: $this->{Location}{WorkingDir}\n" + . "-LocalLib: $this->{Location}{LocalLib}\n" + . "-LocalSite: $this->{Location}{LocalSite}\n" + . "-ApacheConf: $this->{Location}{ApacheConf}\n" + . "-TempDir: $this->{TempDir}\n" + . "-SemaphorFile: $this->{SemaphorFile}\n" . "\n</pre>\n"; $text .= "\n<br />===== Test _listAllBackups()<pre>\n" @@ -448,7 +462,7 @@ return "Can't create file $name - $!\n"; } print FILE $text; - close( FILE); + close( FILE ); return ''; } |