Fixed: Ensure all required devices are mounted before restoring from command line

This commit is contained in:
Tony George 2014-11-07 20:13:49 +05:30
parent 3d27ba2a17
commit 846b63ca2b
3 changed files with 117 additions and 93 deletions

View File

@ -1979,11 +1979,22 @@ public class Main : GLib.Object{
bool found = false;
LOG_TIMESTAMP = false;
if (snapshot_device != null){
//print snapshot_device name
log_msg(TERM_COLOR_YELLOW + string.nfill(78, '*') + TERM_COLOR_RESET);
log_msg(_("Backup Device") + ": %s".printf(snapshot_device.device), true);
log_msg(TERM_COLOR_YELLOW + string.nfill(78, '*') + TERM_COLOR_RESET);
//set snapshot device -----------------------------------------------
if (!mirror_system){
if (snapshot_device != null){
//print snapshot_device name
log_msg(TERM_COLOR_YELLOW + string.nfill(78, '*') + TERM_COLOR_RESET);
log_msg(_("Backup Device") + ": %s".printf(snapshot_device.device), true);
log_msg(TERM_COLOR_YELLOW + string.nfill(78, '*') + TERM_COLOR_RESET);
mount_backup_device();
update_snapshot_list();
}
else{
//print error
log_error(_("Backup device not specified!"));
return false;
}
}
//set snapshot -----------------------------------------------
@ -2119,6 +2130,7 @@ public class Main : GLib.Object{
log_msg(TERM_COLOR_YELLOW + string.nfill(78, '*') + TERM_COLOR_RESET);
log_msg(_("Target Device") + ": %s".printf(restore_target.device), true);
log_msg(TERM_COLOR_YELLOW + string.nfill(78, '*') + TERM_COLOR_RESET);
mount_target_device();
}
else{
//print error
@ -2309,6 +2321,13 @@ public class Main : GLib.Object{
else{
restore_current_system = false;
target_path = mount_point_restore + "/";
if (mount_point_restore.strip().length == 0){
log_error(_("Target device is not mounted"));
thr_success = false;
thr_running = false;
return;
}
}
//save exclude list for restore --------------
@ -2556,7 +2575,7 @@ public class Main : GLib.Object{
}
write_file(fstab_path, text);
log_msg(_("Updated /etc/fstab on target device"));
log_msg(_("Updated /etc/fstab on target device") + ": %s".printf(fstab_path));
//create folders for mount points in /etc/fstab to prevent mount errors during boot ---------
@ -2573,8 +2592,7 @@ public class Main : GLib.Object{
}
}
//unmount if system is still up
unmount_target_device();
unmount_target_device(false);
}
catch(Error e){
log_error (e.message);

View File

@ -18,19 +18,17 @@ long_line_column=80
[files]
current_page=0
FILE_NAME_0=45556;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fsrc%2FMain.vala;0;4
FILE_NAME_1=30377;Vala;0;EUTF-8;1;1;0;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fsrc%2FMainWindow.vala;0;4
FILE_NAME_0=96288;Vala;0;EUTF-8;1;1;1;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fsrc%2FMain.vala;0;4
FILE_NAME_1=30396;Vala;0;EUTF-8;1;1;0;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fsrc%2FMainWindow.vala;0;4
FILE_NAME_2=22735;Vala;0;EUTF-8;1;1;0;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fsrc%2FRestoreWindow.vala;0;4
FILE_NAME_3=844;Vala;0;EUTF-8;1;1;0;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fsrc%2FSettingsWindow.vala;0;4
FILE_NAME_4=37338;Vala;0;EUTF-8;1;1;0;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fsrc%2FUtility.vala;0;4
FILE_NAME_4=31610;Vala;0;EUTF-8;1;1;0;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fsrc%2FUtility.vala;0;4
FILE_NAME_5=13;Sh;0;EUTF-8;1;1;0;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Finstaller%2Finstall.sh;0;4
FILE_NAME_6=0;Vala;0;EUTF-8;1;1;0;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fsrc%2FAboutWindow.vala;0;4
FILE_NAME_7=2333;Vala;0;EUTF-8;1;1;0;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fsrc%2FDonationWindow.vala;0;4
FILE_NAME_8=350;Make;0;EUTF-8;1;1;0;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fsrc%2Fmakefile;0;4
FILE_NAME_9=409;None;0;EUTF-8;1;1;0;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fdebian%2Fchangelog;0;4
FILE_NAME_10=348;Vala;0;EUTF-8;1;1;0;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fsrc%2FExcludeMessageWindow.vala;0;4
FILE_NAME_11=788;Conf;0;EUTF-8;1;1;0;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fdebian%2Fcontrol;0;4
FILE_NAME_12=1197;Sh;0;EUTF-8;1;1;0;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fbuild-installer.sh;0;4
FILE_NAME_7=946;Make;0;EUTF-8;1;1;0;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fsrc%2Fmakefile;0;4
FILE_NAME_8=409;None;0;EUTF-8;1;1;0;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fdebian%2Fchangelog;0;4
FILE_NAME_9=788;Conf;0;EUTF-8;1;1;0;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fdebian%2Fcontrol;0;4
FILE_NAME_10=1275;Sh;0;EUTF-8;1;1;0;%2Fhome%2Fteejee%2Fprojects%2Flinux%2Ftimeshift%2Fbuild-installer.sh;0;4
[VTE]
last_dir=/home/teejee

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: timeshift 1.6\n"
"Report-Msgid-Bugs-To: teejee2008@gmail.com\n"
"POT-Creation-Date: 2014-10-22 15:22+0530\n"
"POT-Creation-Date: 2014-11-07 20:09+0530\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -21,12 +21,12 @@ msgstr ""
msgid "** Advanced Users **"
msgstr ""
#: Main.vala:3159
#: Main.vala:3181
#, c-format
msgid "/ is mapped to device: %s, UUID=%s"
msgstr ""
#: Main.vala:3166
#: Main.vala:3188
#, c-format
msgid "/home is mapped to device: %s, UUID=%s"
msgstr ""
@ -99,11 +99,11 @@ msgstr ""
msgid "Any exclude patterns in the current exclude list will also be excluded."
msgstr ""
#: Main.vala:3053
#: Main.vala:3075
msgid "App config loaded"
msgstr ""
#: Main.vala:2957
#: Main.vala:2979
msgid "App config saved"
msgstr ""
@ -115,7 +115,7 @@ msgstr ""
msgid "Application Info"
msgstr ""
#: Main.vala:3356
#: Main.vala:3378
msgid "Application will exit"
msgstr ""
@ -145,7 +145,7 @@ msgstr ""
msgid "Backup"
msgstr ""
#: Main.vala:1985 MainWindow.vala:232
#: Main.vala:1988 MainWindow.vala:232
msgid "Backup Device"
msgstr ""
@ -161,7 +161,7 @@ msgstr ""
msgid "Backup device does not have enough space"
msgstr ""
#: Main.vala:3407 MainWindow.vala:1426 MainWindow.vala:1434
#: Main.vala:3429 MainWindow.vala:1426 MainWindow.vala:1434
msgid "Backup device does not have enough space!"
msgstr ""
@ -173,11 +173,15 @@ msgstr ""
msgid "Backup device is not mounted!"
msgstr ""
#: Main.vala:3394 Main.vala:3401
#: Main.vala:3416 Main.vala:3423
msgid "Backup device not available"
msgstr ""
#: Main.vala:3215 Main.vala:3238
#: Main.vala:1995
msgid "Backup device not specified!"
msgstr ""
#: Main.vala:3237 Main.vala:3260
#, c-format
msgid "Backup path changed to '%s/timeshift'"
msgstr ""
@ -224,7 +228,7 @@ msgstr ""
msgid "Checking backup device..."
msgstr ""
#: Main.vala:1451 Main.vala:2367
#: Main.vala:1451 Main.vala:2390
msgid "Cleaning up..."
msgstr ""
@ -248,7 +252,7 @@ msgstr ""
msgid "Cloning Failed!"
msgstr ""
#: Main.vala:2415 MainWindow.vala:1128
#: Main.vala:2438 MainWindow.vala:1128
msgid "Cloning system..."
msgstr ""
@ -268,16 +272,16 @@ msgstr ""
msgid "Continue with restore?"
msgstr ""
#: Main.vala:2230
#: Main.vala:2242
#, c-format
msgid "Continue with restore? (y/n): "
msgstr ""
#: Main.vala:2086 Main.vala:2161 Main.vala:3004
#: Main.vala:2097 Main.vala:2173 Main.vala:3026
msgid "Could not find device"
msgstr ""
#: Main.vala:2009 Main.vala:2709
#: Main.vala:2020 Main.vala:2731
msgid "Could not find snapshot"
msgstr ""
@ -285,15 +289,15 @@ msgstr ""
msgid "Credits"
msgstr ""
#: Main.vala:3355
#: Main.vala:3377
msgid "Critical Error"
msgstr ""
#: Main.vala:3666
#: Main.vala:3688
msgid "Cron job added"
msgstr ""
#: Main.vala:3679
#: Main.vala:3701
msgid "Cron job removed"
msgstr ""
@ -301,7 +305,7 @@ msgstr ""
msgid "Crontab is empty"
msgstr ""
#: Main.vala:2275 RestoreWindow.vala:1347
#: Main.vala:2287 RestoreWindow.vala:1347
msgid "DISCLAIMER"
msgstr ""
@ -385,7 +389,7 @@ msgid ""
"teejeetech@gmail.com"
msgstr ""
#: Main.vala:2805 Main.vala:2898
#: Main.vala:2827 Main.vala:2920
msgid "Directory not found"
msgstr ""
@ -451,17 +455,17 @@ msgstr ""
msgid "Enabled"
msgstr ""
#: Main.vala:2105 Main.vala:2196
#: Main.vala:2116 Main.vala:2208
#, c-format
msgid "Enter device name or number (a=Abort)"
msgstr ""
#: Main.vala:2032 Main.vala:2734
#: Main.vala:2043 Main.vala:2756
#, c-format
msgid "Enter snapshot number (a=Abort, p=Previous, n=Next)"
msgstr ""
#: Main.vala:273 Main.vala:2432 MainWindow.vala:831 MainWindow.vala:1165
#: Main.vala:273 Main.vala:2455 MainWindow.vala:831 MainWindow.vala:1165
#: RestoreWindow.vala:1302 RestoreWindow.vala:1319 Utility.vala:117
msgid "Error"
msgstr ""
@ -507,7 +511,7 @@ msgstr ""
msgid "Excluded Directories"
msgstr ""
#: Main.vala:3670
#: Main.vala:3692
msgid "Failed to add cron job"
msgstr ""
@ -523,11 +527,11 @@ msgstr ""
msgid "Failed to delete symlinks"
msgstr ""
#: Main.vala:3527 Main.vala:3533
#: Main.vala:3549 Main.vala:3555
msgid "Failed to estimate system size"
msgstr ""
#: Main.vala:2425
#: Main.vala:2448
msgid "Failed to find a terminal emulator on this system!"
msgstr ""
@ -535,7 +539,7 @@ msgstr ""
msgid "Failed to get partition list"
msgstr ""
#: Main.vala:3131
#: Main.vala:3153
msgid "Failed to get partition list."
msgstr ""
@ -543,7 +547,7 @@ msgstr ""
msgid "Failed to hard-link last snapshot"
msgstr ""
#: Main.vala:3291 Main.vala:3299
#: Main.vala:3313 Main.vala:3321
msgid "Failed to mount BTRFS subvolume"
msgstr ""
@ -551,11 +555,11 @@ msgstr ""
msgid "Failed to mount device"
msgstr ""
#: Main.vala:2792 Main.vala:2885
#: Main.vala:2814 Main.vala:2907
msgid "Failed to remove"
msgstr ""
#: Main.vala:3683
#: Main.vala:3705
msgid "Failed to remove cron job"
msgstr ""
@ -571,7 +575,7 @@ msgstr ""
msgid "Failed to unmount"
msgstr ""
#: Main.vala:3356
#: Main.vala:3378
msgid "Failed to unmount device!"
msgstr ""
@ -588,7 +592,7 @@ msgstr ""
msgid "Files matching the following patterns will be excluded"
msgstr ""
#: Main.vala:2266
#: Main.vala:2278
msgid "Files will be overwritten on the target device!"
msgstr ""
@ -600,7 +604,7 @@ msgstr ""
msgid "First Snapshot"
msgstr ""
#: Main.vala:3416 MainWindow.vala:1435
#: Main.vala:3438 MainWindow.vala:1435
msgid "First snapshot needs"
msgstr ""
@ -613,11 +617,11 @@ msgstr ""
msgid "Free space is less than"
msgstr ""
#: Main.vala:2209
#: Main.vala:2221
msgid "GRUB Device"
msgstr ""
#: Main.vala:2214
#: Main.vala:2226
msgid "GRUB will NOT be reinstalled"
msgstr ""
@ -655,13 +659,13 @@ msgstr ""
msgid "Hourly snapshots are enabled"
msgstr ""
#: Main.vala:2267
#: Main.vala:2279
msgid ""
"If restore fails and you are unable to boot the system, \n"
"then boot from the Ubuntu Live CD, install Timeshift, and try again."
msgstr ""
#: Main.vala:2277
#: Main.vala:2289
msgid ""
"If these terms are not acceptable to you, please do not proceed\n"
"beyond this point!"
@ -852,11 +856,11 @@ msgstr ""
msgid "No Snapshots Selected"
msgstr ""
#: Main.vala:2428
#: Main.vala:2451
msgid "No changes were made to system."
msgstr ""
#: Main.vala:2018 Main.vala:2718
#: Main.vala:2029 Main.vala:2740
msgid "No snapshots found on device"
msgstr ""
@ -876,11 +880,11 @@ msgstr ""
msgid "Nothing to do!"
msgstr ""
#: Main.vala:3720
#: Main.vala:3742
msgid "Older log files removed"
msgstr ""
#: Main.vala:433 Main.vala:3268 RestoreWindow.vala:1293
#: Main.vala:433 Main.vala:3290 RestoreWindow.vala:1293
msgid ""
"Only ubuntu-type layouts with @ and @home subvolumes are currently supported."
msgstr ""
@ -899,11 +903,11 @@ msgid ""
"good reason for doing so."
msgstr ""
#: Main.vala:2323
#: Main.vala:2346
msgid "Please do not interrupt the restore process!"
msgstr ""
#: Main.vala:2426
#: Main.vala:2449
msgid "Please install one of the following terminal emulators and try again"
msgstr ""
@ -915,7 +919,7 @@ msgstr ""
msgid "Please run the application as admin (using 'sudo' or 'su')"
msgstr ""
#: Main.vala:2270
#: Main.vala:2282
msgid "Please save your work and close all applications."
msgstr ""
@ -931,7 +935,7 @@ msgstr ""
msgid "Please select a snapshot to view the log!"
msgstr ""
#: Main.vala:3391 MainWindow.vala:1415
#: Main.vala:3413 MainWindow.vala:1415
msgid "Please select the backup device"
msgstr ""
@ -963,16 +967,16 @@ msgstr ""
msgid "Please wait for a few minutes and try again."
msgstr ""
#: Main.vala:2176
#: Main.vala:2188
#, c-format
msgid "Re-install GRUB2 bootloader? (y/n)"
msgstr ""
#: Main.vala:2356
#: Main.vala:2379
msgid "Re-installing GRUB2 bootloader..."
msgstr ""
#: Main.vala:2377
#: Main.vala:2400
msgid "Rebooting system..."
msgstr ""
@ -996,11 +1000,11 @@ msgstr ""
msgid "Remove selected items"
msgstr ""
#: Main.vala:2798 Main.vala:2891
#: Main.vala:2820 Main.vala:2913
msgid "Removed"
msgstr ""
#: Main.vala:3328 Main.vala:3444
#: Main.vala:3350 Main.vala:3466
#, c-format
msgid "Removed mount directory: '%s'"
msgstr ""
@ -1017,7 +1021,7 @@ msgstr ""
msgid "Removing selected snapshots..."
msgstr ""
#: Main.vala:2780
#: Main.vala:2802
msgid "Removing snapshot"
msgstr ""
@ -1046,11 +1050,11 @@ msgstr ""
msgid "Restore Snapshot"
msgstr ""
#: Main.vala:2471
#: Main.vala:2494
msgid "Restore completed without errors"
msgstr ""
#: Main.vala:2466
#: Main.vala:2489
msgid "Restore failed with exit code"
msgstr ""
@ -1058,7 +1062,7 @@ msgstr ""
msgid "Restore snapshot"
msgstr ""
#: Main.vala:2412 MainWindow.vala:1124
#: Main.vala:2435 MainWindow.vala:1124
msgid "Restoring snapshot..."
msgstr ""
@ -1106,7 +1110,7 @@ msgstr ""
msgid "Scheduled snapshots will be saved to "
msgstr ""
#: Main.vala:2188
#: Main.vala:2200
msgid "Select GRUB device"
msgstr ""
@ -1130,15 +1134,15 @@ msgstr ""
msgid "Select file(s)"
msgstr ""
#: Main.vala:2725
#: Main.vala:2747
msgid "Select snapshot to delete"
msgstr ""
#: Main.vala:2023
#: Main.vala:2034
msgid "Select snapshot to restore"
msgstr ""
#: Main.vala:2096
#: Main.vala:2107
msgid "Select target device"
msgstr ""
@ -1198,7 +1202,7 @@ msgid ""
msgstr ""
#: Main.vala:1494 Main.vala:1641 Main.vala:1710 Main.vala:1748 Main.vala:1767
#: Main.vala:2047 MainWindow.vala:299
#: Main.vala:2058 MainWindow.vala:299
msgid "Snapshot"
msgstr ""
@ -1206,11 +1210,11 @@ msgstr ""
msgid "Snapshot saved successfully"
msgstr ""
#: Main.vala:2750
#: Main.vala:2772
msgid "Snapshot to delete not specified!"
msgstr ""
#: Main.vala:2052
#: Main.vala:2063
msgid "Snapshot to restore not specified!"
msgstr ""
@ -1262,7 +1266,7 @@ msgstr ""
msgid "Symlinks updated"
msgstr ""
#: Main.vala:2363
#: Main.vala:2386
msgid "Synching file systems..."
msgstr ""
@ -1283,11 +1287,11 @@ msgstr ""
msgid "System was cloned successfully on target device"
msgstr ""
#: Main.vala:2324
#: Main.vala:2347
msgid "System will reboot after files are restored"
msgstr ""
#: Main.vala:2271
#: Main.vala:2283
msgid "System will reboot to complete the restore process."
msgstr ""
@ -1319,15 +1323,19 @@ msgstr ""
msgid "Target"
msgstr ""
#: Main.vala:2120
#: Main.vala:2131
msgid "Target Device"
msgstr ""
#: Main.vala:2125
#: Main.vala:2326
msgid "Target device is not mounted"
msgstr ""
#: Main.vala:2137
msgid "Target device not specified!"
msgstr ""
#: Main.vala:3765
#: Main.vala:3787
msgid "Terminating rsync process"
msgstr ""
@ -1339,7 +1347,7 @@ msgstr ""
msgid "The system partition has an unsupported subvolume layout."
msgstr ""
#: Main.vala:3267 RestoreWindow.vala:1292
#: Main.vala:3289 RestoreWindow.vala:1292
msgid "The target partition has an unsupported subvolume layout."
msgstr ""
@ -1348,7 +1356,7 @@ msgstr ""
msgid "Third Party Tools"
msgstr ""
#: Main.vala:2276
#: Main.vala:2288
msgid ""
"This software comes without absolutely NO warranty and the author takes\n"
"no responsibility for any damage arising from the use of this program."
@ -1395,11 +1403,11 @@ msgstr ""
msgid "Unmounting from"
msgstr ""
#: Main.vala:3271 RestoreWindow.vala:1291
#: Main.vala:3293 RestoreWindow.vala:1291
msgid "Unsupported Subvolume Layout"
msgstr ""
#: Main.vala:2559
#: Main.vala:2582
msgid "Updated /etc/fstab on target device"
msgstr ""
@ -1408,11 +1416,11 @@ msgstr ""
msgid "Used"
msgstr ""
#: Main.vala:2653
#: Main.vala:2675
msgid "Using the default exclude-list"
msgstr ""
#: Main.vala:2656
#: Main.vala:2678
msgid "Using user-specified exclude-list"
msgstr ""
@ -1428,7 +1436,7 @@ msgstr ""
msgid "Visit Website"
msgstr ""
#: Main.vala:2265
#: Main.vala:2277
msgid "WARNING"
msgstr ""
@ -1441,7 +1449,7 @@ msgstr ""
msgid "Warning"
msgstr ""
#: Main.vala:3013
#: Main.vala:3035
msgid "Warning: Backup device not set! Defaulting to system device"
msgstr ""
@ -1473,7 +1481,7 @@ msgstr ""
msgid "days..."
msgstr ""
#: Main.vala:3380
#: Main.vala:3402
msgid "free"
msgstr ""