Diffstat (limited to 'noncore/settings/backup/backuprestore.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/settings/backup/backuprestore.cpp | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/noncore/settings/backup/backuprestore.cpp b/noncore/settings/backup/backuprestore.cpp index 6b83bc9..164055e 100644 --- a/noncore/settings/backup/backuprestore.cpp +++ b/noncore/settings/backup/backuprestore.cpp | |||
@@ -249,13 +249,14 @@ void BackupAndRestore::backup() | |||
249 | // We execute tar and compressing its output with gzip.. | 249 | // We execute tar and compressing its output with gzip.. |
250 | // The error output will be written into a temp-file which could be provided | 250 | // The error output will be written into a temp-file which could be provided |
251 | // for debugging.. | 251 | // for debugging.. |
252 | qDebug( "Storing file: %s", outputFile.latin1() ); | 252 | qDebug( "Storing file: %s", outputFile.latin1() ); |
253 | outputFile += EXTENSION; | 253 | outputFile += EXTENSION; |
254 | 254 | ||
255 | QString commandLine = QString( "(tar -C %1 -z --exclude=*.bck -c %2 > %3 ) 2> %4" ).arg( QDir::homeDirPath() ) | 255 | QString commandLine = QString( "cd %1 && (tar -X %1 -cz %2 -f %3 ) 2> %4" ).arg( QDir::homeDirPath() ) |
256 | .arg( getExcludeFile() ) | ||
256 | .arg( backupFiles ) | 257 | .arg( backupFiles ) |
257 | .arg( outputFile.latin1() ) | 258 | .arg( outputFile.latin1() ) |
258 | .arg( tempFileName.latin1() ); | 259 | .arg( tempFileName.latin1() ); |
259 | 260 | ||
260 | qDebug( commandLine ); | 261 | qDebug( commandLine ); |
261 | 262 | ||
@@ -417,13 +418,13 @@ void BackupAndRestore::restore() | |||
417 | QString restoreFile = backupLocations[restoreSource->currentText()]; | 418 | QString restoreFile = backupLocations[restoreSource->currentText()]; |
418 | 419 | ||
419 | restoreFile += "/" + restoreItem->text(0); | 420 | restoreFile += "/" + restoreItem->text(0); |
420 | 421 | ||
421 | qDebug( restoreFile ); | 422 | qDebug( restoreFile ); |
422 | 423 | ||
423 | QString commandLine = QString( "tar -C %1 -zxf %2 2> %3" ).arg( QDir::homeDirPath() ) | 424 | QString commandLine = QString( "cd %1 && tar -zxf %2 2> %3" ).arg( QDir::homeDirPath() ) |
424 | .arg( restoreFile.latin1() ) | 425 | .arg( restoreFile.latin1() ) |
425 | .arg( tempFileName.latin1() ); | 426 | .arg( tempFileName.latin1() ); |
426 | 427 | ||
427 | qDebug( commandLine ); | 428 | qDebug( commandLine ); |
428 | 429 | ||
429 | int r = system( commandLine ); | 430 | int r = system( commandLine ); |
@@ -474,8 +475,37 @@ void BackupAndRestore::restore() | |||
474 | config.setGroup( "LastLocation" ); | 475 | config.setGroup( "LastLocation" ); |
475 | config.writeEntry( "LastRestoreLocation", restoreSource->currentText() ); | 476 | config.writeEntry( "LastRestoreLocation", restoreSource->currentText() ); |
476 | 477 | ||
477 | setCaption(tr("Backup and Restore")); | 478 | setCaption(tr("Backup and Restore")); |
478 | } | 479 | } |
479 | 480 | ||
481 | |||
482 | /** | ||
483 | * Check for exclude in Applications/backup | ||
484 | * If it does not exist, the function will create the file with *.bck as content | ||
485 | * The exclude_files is read by tar and will provide to exclude special files out from backup. | ||
486 | * e.g. alle *.bck files (backup-files) will not be backed up by default | ||
487 | */ | ||
488 | |||
489 | QString BackupAndRestore::getExcludeFile() | ||
490 | { | ||
491 | QString excludeFileName = Global::applicationFileName( "backup", "exclude" ); | ||
492 | if ( !QFile::exists( excludeFileName ) ) | ||
493 | { | ||
494 | QFile excludeFile( excludeFileName); | ||
495 | if ( excludeFile.open( IO_WriteOnly ) == true ) | ||
496 | { | ||
497 | QTextStream writeStream( &excludeFile ); | ||
498 | writeStream << "*.bck" << "\n"; | ||
499 | excludeFile.close(); | ||
500 | } | ||
501 | else | ||
502 | { | ||
503 | return QString::null; | ||
504 | } | ||
505 | } | ||
506 | |||
507 | return excludeFileName; | ||
508 | } | ||
509 | |||
480 | // backuprestore.cpp | 510 | // backuprestore.cpp |
481 | 511 | ||