summaryrefslogtreecommitdiffstats
path: root/src/main/java/org/openslx/taskmanager/tasks/BackupRestore.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/openslx/taskmanager/tasks/BackupRestore.java')
-rw-r--r--src/main/java/org/openslx/taskmanager/tasks/BackupRestore.java33
1 files changed, 25 insertions, 8 deletions
diff --git a/src/main/java/org/openslx/taskmanager/tasks/BackupRestore.java b/src/main/java/org/openslx/taskmanager/tasks/BackupRestore.java
index bbb68f5..20f5363 100644
--- a/src/main/java/org/openslx/taskmanager/tasks/BackupRestore.java
+++ b/src/main/java/org/openslx/taskmanager/tasks/BackupRestore.java
@@ -1,5 +1,8 @@
package org.openslx.taskmanager.tasks;
+import java.util.ArrayList;
+import java.util.List;
+
import org.openslx.satserver.util.Constants;
import org.openslx.taskmanager.api.SystemCommandTask;
@@ -11,6 +14,10 @@ public class BackupRestore extends SystemCommandTask
private String mode;
@Expose
private String backupFile;
+ @Expose
+ private boolean restoreOpenslx;
+ @Expose
+ private boolean restoreDozmod;
private Output status = new Output();
@@ -37,14 +44,24 @@ public class BackupRestore extends SystemCommandTask
@Override
protected String[] initCommandLine()
{
- if ( backupFile == null )
- backupFile = "ignored";
- return new String[] {
- "/usr/bin/sudo",
- "-n",
- "-u", "root", Constants.BASEDIR + "/scripts/system-" + mode,
- backupFile
- };
+ List<String> args = new ArrayList<>();
+ args.add( "/usr/bin/sudo" );
+ args.add( "-n" );
+ args.add( "-u" );
+ args.add( "root" );
+ args.add( Constants.BASEDIR + "/scripts/system-" + mode );
+ if ( mode.equals( "restore" ) ) {
+ if ( backupFile != null ) {
+ args.add( backupFile );
+ }
+ if ( restoreDozmod ) {
+ args.add( "dozmod" );
+ }
+ if ( restoreOpenslx ) {
+ args.add( "openslx" );
+ }
+ }
+ return args.toArray( new String[ args.size() ] );
}
@Override