1 |
wellsi |
1.1 |
diff -ruN e-smith-backup-2.4.0.tmp/root/etc/e-smith/events/actions/workstation-backup-dar e-smith-backup-2.4.0/root/etc/e-smith/events/actions/workstation-backup-dar |
2 |
|
|
--- e-smith-backup-2.4.0.tmp/root/etc/e-smith/events/actions/workstation-backup-dar 2014-04-19 10:43:57.000000000 -0700 |
3 |
|
|
+++ e-smith-backup-2.4.0/root/etc/e-smith/events/actions/workstation-backup-dar 2014-04-19 10:53:49.000000000 -0700 |
4 |
|
|
@@ -63,7 +63,8 @@ |
5 |
|
|
my $mail = $backupwk->prop('MailNotify') || 'yes'; |
6 |
|
|
my $frommail = $backupwk->prop('FromMail') || 'admin-backup'; |
7 |
|
|
my $tomail = $backupwk->prop('ToMail') || 'admin'; |
8 |
|
|
-my $mntdir = ($VFSType eq 'usb') ? "\/$smbshare" : $backupwk->prop('Mount') || '/mnt/smb'; |
9 |
|
|
+my $mntdir = $backupwk->prop('Mount') || '/mnt/smb'; |
10 |
|
|
+$mntdir = "\/$smbshare" if ($VFSType eq 'usb'); # ToDo change to $backupwk->prop('Mount') |
11 |
|
|
my $deleteearly = $backupwk->prop('DeleteEarly') || 'false'; |
12 |
|
|
|
13 |
|
|
my $report = "From: $frommail\n"; |
14 |
|
|
@@ -77,33 +78,8 @@ |
15 |
|
|
# ping the SMB Host to see if it is awake |
16 |
|
|
$report .= wol ($ether,$smbhost,$smbhostmac,$smbhostdelay); |
17 |
|
|
|
18 |
|
|
-# verify backup directory not already mounted |
19 |
|
|
-if (!checkMount ($mntdir)) |
20 |
|
|
-{ |
21 |
|
|
- ldie("Seems backup directory is already mounted. " . |
22 |
|
|
- "It should not happen and maybe there is a zombie process " . |
23 |
|
|
- "you must kill, or another backup in progress. \n"); |
24 |
|
|
-} |
25 |
|
|
- |
26 |
|
|
-# create the directory mount point if it does not exist |
27 |
|
|
-createTree ($mntdir); |
28 |
|
|
- |
29 |
|
|
-# mount the backup directory |
30 |
|
|
-my $err = dmount($smbhost,$smbshare,$mntdir,$login,$password,$VFSType); |
31 |
|
|
-ldie("Error while mounting <//$smbhost/$smbshare>\n" . $err) if $err; |
32 |
|
|
- |
33 |
|
|
-# verify $mntdir is mounted |
34 |
|
|
-if (checkMount ($mntdir)) |
35 |
|
|
-{ |
36 |
|
|
- # The mount should have suceeded, but sometimes it needs more time, |
37 |
|
|
- # so sleep and then check again. |
38 |
|
|
- sleep 5; |
39 |
|
|
- if (checkMount ($mntdir)) |
40 |
|
|
- { |
41 |
|
|
- ldie("Seems backup directory is not really mounted. It should not happen. \ |
42 |
|
|
- Verify availability of your backup volume. Stopping the backup now.\n"); |
43 |
|
|
- } |
44 |
|
|
-} |
45 |
|
|
+# mount backup |
46 |
|
|
+bmount($mntdir,$smbhost,$smbshare,$VFSType); |
47 |
|
|
|
48 |
|
|
# rotating backup indicators |
49 |
|
|
$incnum++; |
50 |
|
|
@@ -228,7 +204,7 @@ |
51 |
|
|
} |
52 |
|
|
|
53 |
|
|
# unmount shared folder |
54 |
|
|
-system("/bin/umount", "-f", "$mntdir"); |
55 |
|
|
+system("/bin/umount", "-f", "$mntdir") unless ($VFSType eq 'mnt'); |
56 |
|
|
|
57 |
|
|
# time now to update backup configuration |
58 |
|
|
$backupwk->set_prop('SetNum', $setnum); |
59 |
|
|
@@ -251,7 +227,10 @@ |
60 |
|
|
{ |
61 |
|
|
sendReport ($report,$errmsg); |
62 |
|
|
} |
63 |
|
|
- system("/bin/umount", "$mntdir") if (!checkMount ($mntdir)); |
64 |
|
|
+ if (($VFSType ne 'mnt') && (!checkMount ($mntdir))) |
65 |
|
|
+ { |
66 |
|
|
+ system("/bin/umount", "-f", "$mntdir"); |
67 |
|
|
+ } |
68 |
|
|
die($errmsg); |
69 |
|
|
} |
70 |
|
|
|
71 |
|
|
@@ -494,3 +473,45 @@ |
72 |
|
|
return; |
73 |
|
|
} |
74 |
|
|
|
75 |
|
|
+sub bmount |
76 |
|
|
+{ |
77 |
|
|
+ my ($mntdir,$host,$share,$VFSType) = @_; |
78 |
|
|
+ # verify backup directory not already mounted |
79 |
|
|
+ |
80 |
|
|
+ if (!checkMount ($mntdir)) |
81 |
|
|
+ { |
82 |
|
|
+ return if ($VFSType eq 'mnt'); |
83 |
|
|
+ ldie("Seems backup directory is already mounted. " . |
84 |
|
|
+ "It should not happen and maybe there is a zombie process " . |
85 |
|
|
+ "you must kill, or another backup in progress. \n"); |
86 |
|
|
+ } |
87 |
|
|
+ else |
88 |
|
|
+ { |
89 |
|
|
+ if ($VFSType eq 'mnt') |
90 |
|
|
+ { |
91 |
|
|
+ ldie("Seems backup directory is not mounted. " . |
92 |
|
|
+ "The backup directory must be mounted when using type 'mnt'. \n"); |
93 |
|
|
+ } |
94 |
|
|
+ } |
95 |
|
|
+ |
96 |
|
|
+ # create the directory mount point if it does not exist |
97 |
|
|
+ createTree ($mntdir); |
98 |
|
|
+ |
99 |
|
|
+ # mount the backup directory |
100 |
|
|
+ my $err = dmount($host,$share,$mntdir,'','',$VFSType); |
101 |
|
|
+ ldie("Error while mounting <//$smbhost/$smbshare>\n" . $err) if $err; |
102 |
|
|
+ |
103 |
|
|
+ # verify $mntdir is mounted |
104 |
|
|
+ if (checkMount ($mntdir)) |
105 |
|
|
+ { |
106 |
|
|
+ # The mount should have suceeded, but sometimes it needs more time, |
107 |
|
|
+ # so sleep and then check again. |
108 |
|
|
+ sleep 5; |
109 |
|
|
+ if (checkMount ($mntdir)) |
110 |
|
|
+ { |
111 |
|
|
+ ldie("Seems backup directory is not really mounted. It should not happen. \ |
112 |
|
|
+ Verify availability of your backup volume. Stopping the backup now.\n"); |
113 |
|
|
+ } |
114 |
|
|
+ } |
115 |
|
|
+ return; |
116 |
|
|
+} |