File: win32.tex

package info (click to toggle)
bacula-doc 5.2.6-3
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 225,056 kB
  • sloc: perl: 5,080; sh: 3,124; php: 2,072; makefile: 532; ansic: 48
file content (865 lines) | stat: -rw-r--r-- 38,379 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
%%
%%

\chapter{The Windows Version of Bacula}
\label{Win32Chapter}
\index[general]{Windows Version of Bacula}

At the current time only the File daemon or Client program has
been thouroughly tested on Windows and is suitable for a
production environment. As a consequence, when we
speak of the Windows version of Bacula below, we are referring to
the File daemon (client) only. 

As of Bacula version 1.39.20 or greater, the installer is capable
of installing not just the Client program, but also the Director
and the Storage daemon and all the other programs that were
previously available only on Unix systems. These additional
programs, notably the Director and Storage daemon, have been partially
tested, are reported to have some bugs, and still need to be documented. 
They are not yet supported, and we cannot currently accept or fix
bug reports on them.  Consequently, please test them carefully before putting
them into a critical production environment.

The Windows version of the Bacula File daemon has been tested on Win98, WinMe,
WinNT, WinXP, Win2000, and Windows 2003 systems.  We have coded to support
Win95, but no longer have a system for testing. The Windows version of
Bacula is a native Win32 port, but there are very few source code changes
to the Unix code, which means that the Windows version is for the most part
running code that has long proved stable on Unix systems.  When running, it
is perfectly integrated with Windows and displays its icon in the system
icon tray, and provides a system tray menu to obtain additional information
on how Bacula is running (status and events dialog boxes).  If so desired,
it can also be stopped by using the system tray menu, though this should
normally never be necessary.

Once installed Bacula normally runs as a system service. This means that it is
immediately started by the operating system when the system is booted, and
runs in the background even if there is no user logged into the system. 

\section{Win32 Installation}
\label{installation}
\index[general]{Installation}
\index[general]{Win32!Installation}

Normally, you will install the Windows version of Bacula from the binaries.
This install is standard Windows .exe that runs an install wizard using the
NSIS Free Software installer, so if you have already installed Windows
software, it should be very familiar to you. 

If you have a previous version Bacula (1.39.20 or lower)
installed, you should stop the service, uninstall it, and remove
the Bacula installation directory possibly saving your
bacula-fd.conf, bconsole.conf, and bwx-console.conf files
for use with the new version you will install.  The Uninstall
program is normally found in {\bf c:\textbackslash{}bacula\textbackslash{}Uninstall.exe}.
We also recommend that you completely remove the directory
{\bf c:\textbackslash{}bacula}, because the current installer
uses a different directory structure (see below).

Providing you do not already have Bacula installed,
the new installer (1.39.22 and later) installs the binaries and dlls in 
c:\textbackslash{}Program Files\textbackslash{}Bacula\textbackslash{}bin  
and the configuration files
in c:\textbackslash{}Documents and Settings\textbackslash{}All Users\textbackslash{}Application Data\textbackslash{}Bacula
In addition, the {\bf Start\-\gt{}All Programs\-\gt{}Bacula} menu item
will be created during the installation, and on that menu, you
will find items for editing the configuration files, displaying
the document, and starting bwx-console or bconsole.


Finally, proceed with the installation. 

\begin{itemize}
\item You must be logged in as Administrator to the local machine
to do a correct installation, if not, please do so before continuing.
Some users have attempted to install logged in as a domain administrator
account and experienced permissions problems attempting to run
Bacula, so we don't recommend that option.
  
\item Simply double click on the {\bf winbacula-1.xx.0.exe}  NSIS install
   icon. The  actual name of the icon will vary from one release version to 
   another. 

\includegraphics{\idir win32-nsis.eps}  winbacula-1.xx.0.exe  
  
\item Once launched, the installer wizard will ask you if you want  to install
   Bacula.  

\addcontentsline{lof}{figure}{Win32 Client Setup Wizard}
\includegraphics{\idir win32-welcome.eps}  

\item Next you will be asked to select the installation type. 

\addcontentsline{lof}{figure}{Win32 Installation Type}
\includegraphics{\idir win32-installation-type.eps}


\item If you proceed, you will be asked to select the components to be 
   installed. You may install the Bacula program (Bacula File Service)  and or
   the documentation. Both will be installed in sub-directories  of the install
   location that you choose later. The components  dialog looks like the
   following:  

\addcontentsline{lof}{figure}{Win32 Component Selection Dialog}
\includegraphics{\idir win32-pkg.eps}  
\index[general]{Upgrading}

\item If you are installing for the first time, you will  be asked to
   enter some very basic information about your configuration. If
   you are not sure what to enter, or have previously saved configuration
   files, you can put anything you want into the fields, then either
   replace the configuration files later with the ones saved, or edit
   the file.

   If you are upgrading an existing installation, the following will
   not be displayed.


\addcontentsline{lof}{figure}{Win32 Configure}
\includegraphics{\idir win32-config.eps}  
 
\item While the various files are being loaded, you will see the following
   dialog:

   \addcontentsline{lof}{figure}{Win32 Install Progress}
   \includegraphics{\idir win32-installing.eps}  


\item Finally, the finish dialog will appear:  

   \addcontentsline{lof}{figure}{Win32 Client Setup Completed}
   \includegraphics{\idir win32-finish.eps}  

\ 
\end{itemize}

That should complete the installation process. When the Bacula File Server is
ready to serve files, an icon \includegraphics{\idir idle.eps} representing a
cassette (or tape) will appear in the system tray
\includegraphics{\idir tray-icon.eps}; right click on it and a menu will appear.\\
\includegraphics{\idir menu.eps}\\
The {\bf Events} item is currently unimplemented, by selecting the {\bf
Status} item, you can verify whether any jobs are running or not. 

When the Bacula File Server begins saving files, the color of the holes in the
cassette icon will change from white to green \includegraphics{\idir running.eps},
and if there is an error, the holes in the cassette icon will change to red
\includegraphics{\idir error.eps}. 

If you are using remote desktop connections between your Windows boxes, be
warned that that tray icon does not always appear. It will always be visible
when you log into the console, but the remote desktop may not display it. 

\section{Post Win32 Installation}
\index[general]{Post Win32 Installation}
\index[general]{Win32!Post Installation}

After installing Bacula and before running it, you should check the contents
of the configuration files to ensure that they correspond to your
installation.  You can get to them by using:
the {\bf Start\-\gt{}All Programs\-\gt{}Bacula} menu item.

Finally, but pulling up the Task Manager (ctl-alt-del), verify that Bacula
is running as a process (not an Application) with User Name SYSTEM. If this is 
not the case, you probably have not installed Bacula while running as
Administrator, and hence it will be unlikely that Bacula can access
all the system files.

\section{Uninstalling Bacula on Win32}
\index[general]{Win32!Uninstalling Bacula}
\index[general]{Uninstalling Bacula on Win32}

Once Bacula has been installed, it can be uninstalled using the standard
Windows Add/Remove Programs dialog found on the Control panel. 

\section{Dealing with Win32 Problems}
\label{problems}
\index[general]{Win32!Dealing with Problems}
\index[general]{Dealing with Win32 Problems}

Sometimes Win32 machines the File daemon may have very slow
backup transfer rates compared to other machines.  To you might
try setting the Maximum Network Buffer Size to 32,768 in both the
File daemon and in the Storage daemon. The default size is larger,
and apparently some Windows ethernet controllers do not deal with          
a larger network buffer size.

Many Windows ethernet drivers have a tendency to either run slowly 
due to old broken firmware, or because they are running in half-duplex
mode. Please check with the ethernet card manufacturer for the latest
firmware and use whatever techniques are necessary to ensure that the 
card is running in duplex.

If you are not using the portable option, and you have VSS
(Volume Shadow Copy) enabled in the Director, and you experience
problems with Bacula not being able to open files, it is most
likely that you are running an antivirus program that blocks
Bacula from doing certain operations. In this case, disable the
antivirus program and try another backup.  If it succeeds, either
get a different (better) antivirus program or use something like
RunClientJobBefore/After to turn off the antivirus program while
the backup is running.

If turning off anti-virus software does not resolve your VSS
problems, you might have to turn on VSS debugging.  The following
link describes how to do this:
\elink{http://support.microsoft.com/kb/887013/en-us}{\url{http://support.microsoft.com/kb/887013/en-us}}.

In Microsoft Windows Small Business Server 2003 the VSS Writer for Exchange
is turned off by default. To turn it on, please see the following link:
\elink{http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q838183}{\url{
http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q838183}}


The most likely source of problems is authentication when the Director
attempts to connect to the File daemon that you installed. This can occur if
the names and the passwords defined in the File daemon's configuration file
{\bf bacula-fd.conf} file on
the Windows machine do not match with the names and the passwords in the
Director's configuration file {\bf bacula-dir.conf} located on your Unix/Linux
server. 

More specifically, the password found in the {\bf Client} resource in the
Director's configuration file must be the same as the password in the {\bf
Director} resource of the File daemon's configuration file. In addition, the
name of the {\bf Director} resource in the File daemon's configuration file
must be the same as the name in the {\bf Director} resource of the Director's
configuration file. 

It is a bit hard to explain in words, but if you understand that a Director
normally has multiple Clients and a Client (or File daemon) may permit access
by multiple Directors, you can see that the names and the passwords on both
sides must match for proper authentication. 

One user had serious problems with the configuration file until he realized
that the Unix end of line conventions were used and Bacula wanted them in
Windows format. This has not been confirmed though, and Bacula version 2.0.0 
and above should now accept all end of line conventions (Win32,
Unix, Mac).

Running Unix like programs on Windows machines is a bit frustrating because
the Windows command line shell (DOS Window) is rather primitive. As a
consequence, it is not generally possible to see the debug information and
certain error messages that Bacula prints. With a bit of work, however, it is
possible. When everything else fails and you want to {\bf see} what is going
on, try the following: 

\footnotesize
\begin{verbatim}
   Start a DOS shell Window.
   c:\Program Files\bacula\bin\bacula-fd -t >out
   type out
\end{verbatim}
\normalsize

The precise path to bacula-fd depends on where it is installed. The
example above is the default used in 1.39.22 and later.
The {\bf -t} option will cause Bacula to read the configuration file, print
any error messages and then exit. the {\bf \gt{}} redirects the output to the
file named {\bf out}, which you can list with the {\bf type} command. 

If something is going wrong later, or you want to run {\bf Bacula} with a
debug option, you might try starting it as: 

\footnotesize
\begin{verbatim}
   c:\Program Files\bacula\bin\bacula-fd -d 100 >out
\end{verbatim}
\normalsize

In this case, Bacula will run until you explicitly stop it, which will give
you a chance to connect to it from your Unix/Linux server. In later versions
of Bacula (1.34 on, I think), when you start the File daemon in debug mode it
can write the output to a trace file {\bf bacula.trace} in the current
directory. To enable this, before running a job, use the console, and enter: 

\footnotesize
\begin{verbatim}
   trace on
\end{verbatim}
\normalsize

then run the job, and once you have terminated the File daemon, you will find
the debug output in the {\bf bacula.trace} file, which will probably be 
located in the same directory as bacula-fd.exe.

In addition, you should look in the System Applications log on the Control
Panel to find any Windows errors that Bacula got during the startup process. 

Finally, due to the above problems, when you turn on debugging, and specify
trace=1 on a setdebug command in the Console, Bacula will write the debug
information to the file {\bf bacula.trace} in the directory from which Bacula
is executing. 

If you are having problems with ClientRunBeforeJob scripts randomly dying, 
it is possible that you have run into an Oracle bug.  See bug number 622 in
the bugs.bacula.org database.  The following information has been
provided by a user on this issue:

\footnotesize
\begin{verbatim}
The information in this document applies to:
 Oracle HTTP Server - Version: 9.0.4
 Microsoft Windows Server 2003
 Symptoms
 When starting an OC4J instance, the System Clock runs faster, about 7
seconds per minute.
 
 Cause
 
 + This is caused by the Sun JVM bug 4500388, which states that "Calling
Thread.sleep() with a small argument affects the system clock". Although
this is reported as fixed in JDK 1.4.0_02, several reports contradict this
(see the bug in
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4500388).
 
 + Also reported by Microsoft as "The system clock may run fast when you
use the ACPI power management timer as a high-resolution counter on Windows
2000-based computers" (See http://support.microsoft.com/?id=821893)
\end{verbatim}
\normalsize

You may wish to start the daemon with debug mode on rather than doing it
using bconsole. To do so, edit the following registry key:

\footnotesize
\begin{verbatim}
HKEY_LOCAL_MACHINE\HARDWARE\SYSTEM\CurrentControlSet\Services\Bacula-dir
\end{verbatim}
\normalsize

using regedit, then add -dnn after the /service option, where nn represents
the debug level you want.

\label{Compatibility}
\section{Windows Compatibility Considerations}
\index[general]{Windows Compatibility Considerations}
\index[general]{Considerations!Windows Compatibility}

If you are not using the VSS (Volume Shadow Copy) option described in the
next section of this chapter, and if any applications are running during
the backup and they have files opened exclusively, Bacula will not be able
to backup those files, so be sure you close your applications (or tell your
users to close their applications) before the backup.  Fortunately, most
Microsoft applications do not open files exclusively so that they can be
backed up.  However, you will need to experiment.  In any case, if Bacula
cannot open the file, it will print an error message, so you will always
know which files were not backed up.  For version 1.37.25 and greater, see
the section below on Volume Shadow Copy Service that permits backing up any
file.

During backup, Bacula doesn't know about the system registry, so you will
either need to write it out to an ASCII file using {\bf regedit~~/e} or use a
program specifically designed to make a copy or backup the registry. 

In Bacula version 1.31 and later, we use Windows backup API calls by
default.  Typical of Windows, programming these special BackupRead and
BackupWrite calls is a real nightmare of complications.  The end result
gives some distinct advantages and some disadvantages.

First, the advantages are that on WinNT/2K/XP systems, the security and
ownership information is now backed up.  In addition, with the exception of
files in exclusive use by another program, Bacula can now access all system
files.  This means that when you restore files, the security and ownership
information will be restored on WinNT/2K/XP along with the data.

The disadvantage of the Windows backup API calls is that it produces
non-portable backups.  That is files and their data that are backed up on
WinNT using the native API calls (BackupRead/BackupWrite) cannot be
restored on Win95/98/Me or Unix systems.  In principle, a file backed up on
WinNT can be restored on WinXP, but this remains to be seen in practice
(not yet tested). Bacula should be able to read non-portable
backups on any system and restore the data appropriately.  However,       
on a system that does not have the BackupRead/BackupWrite calls (older
Windows versions and all Unix/Linux machines), though the file data
can be restored, the Windows security and access control data  will not be restored.
This means that a standard set of access permissions will be set for
such restored files.
        

As a default, Bacula backs up Windows systems using the Windows API calls.
If you want to backup data on a WinNT/2K/XP system and restore it on a
Unix/Win95/98/Me system, we have provided a special {\bf portable} option
that backs up the data in a portable fashion by using portable API calls.
See the \ilink{portable option}{portable} on the Include statement in a
FileSet resource in the Director's configuration chapter for the details on
setting this option.  However, using the portable option means you may have
permissions problems accessing files, and none of the security and
ownership information will be backed up or restored.  The file data can,
however, be restored on any system.

You should always be able to restore any file backed up on Unix or Win95/98/Me
to any other system. On some systems, such as WinNT/2K/XP, you may have to
reset the ownership of such restored files. Any file backed up on WinNT/2K/XP
should in principle be able to be restored to a similar system (i.e.
WinNT/2K/XP), however, I am unsure of the consequences if the owner
information and accounts are not identical on both systems. Bacula will not
let you restore files backed up on WinNT/2K/XP to any other system (i.e. Unix
Win95/98/Me) if you have used the defaults. 

Finally, if you specify the {\bf portable=yes} option on the files you back
up. Bacula will be able to restore them on any other system. However, any
WinNT/2K/XP specific security and ownership information will be lost. 

The following matrix will give you an idea of what you can expect. Thanks to
Marc Brueckner for doing the tests: 

\addcontentsline{lot}{table}{WinNT/2K/XP Restore Portability Status}
\begin{longtable}{|l|l|p{2.8in}|}
 \hline 
\multicolumn{1}{|c|}{\bf Backup OS} & \multicolumn{1}{c|}{\bf Restore OS}
& \multicolumn{1}{c|}{\bf Results } \\
 \hline {WinMe} & {WinMe} & {Works } \\
 \hline {WinMe} & {WinNT} & {Works (SYSTEM permissions) } \\
 \hline {WinMe} & {WinXP} & {Works (SYSTEM permissions) } \\
 \hline {WinMe} & {Linux} & {Works (SYSTEM permissions) } \\
 \hline {\ } & {\ } & {\ } \\
 \hline {WinXP} & {WinXP} & {Works } \\
 \hline {WinXP} & {WinNT} & {Works (all files OK, but got "The data is invalid"
message) } \\
 \hline {WinXP} & {WinMe} & {Error: Win32 data stream not supported. } \\
 \hline {WinXP} & {WinMe} & {Works if {\bf Portable=yes} specified during backup.} \\
 \hline {WinXP} & {Linux} & {Error: Win32 data stream not supported. } \\
 \hline {WinXP} & {Linux} & {Works if {\bf Portable=yes} specified during backup.}\\
 \hline {\ } & {\ } & {\ } \\
 \hline {WinNT} & {WinNT} & {Works } \\
 \hline {WinNT} & {WinXP} & {Works } \\
 \hline {WinNT} & {WinMe} & {Error: Win32 data stream not supported. } \\
 \hline {WinNT} & {WinMe} & {Works if {\bf Portable=yes} specified during backup.}\\
 \hline {WinNT} & {Linux} & {Error: Win32 data stream not supported. } \\
 \hline {WinNT} & {Linux} & {Works if {\bf Portable=yes} specified during backup. }\\
 \hline {\ } & {\ } & {\ } \\
 \hline {Linux} & {Linux} & {Works } \\
 \hline {Linux} & {WinNT} & {Works (SYSTEM permissions) } \\
 \hline {Linux} & {WinMe} & {Works } \\
 \hline {Linux} & {WinXP} & {Works (SYSTEM permissions)}
\\ \hline 
\end{longtable}

Note: with Bacula versions 1.39.x and later, non-portable Windows data can
be restore to any machine.


\label{VSS}
\section{Volume Shadow Copy Service}
\index[general]{Volume Shadow Copy Service}
\index[general]{VSS}
In version 1.37.30 and greater, you can turn on Microsoft's Volume
Shadow Copy Service (VSS).      

Microsoft added VSS to Windows XP and Windows 2003. From the perspective of
a backup-solution for Windows, this is an extremely important step. VSS
allows Bacula to backup open files and even to interact with applications like
RDBMS to produce consistent file copies. VSS aware applications are called
VSS Writers, they register with the OS so that when Bacula wants to do a
Snapshot, the OS will notify the register Writer programs, which may then
create a consistent state in their application, which will be backed up.
Examples for these writers are "MSDE" (Microsoft database
engine), "Event Log Writer", "Registry Writer" plus 3rd
party-writers.  If you have a non-vss aware application (e.g.
SQL Anywhere or probably MySQL), a shadow copy is still generated
and the open files can be backed up, but there is no guarantee
that the file is consistent.

Bacula produces a message from each of the registered writer programs
when it is doing a VSS backup so you know which ones are correctly backed
up.

Bacula supports VSS on both Windows 2003 and Windows XP.
Technically Bacula creates a shadow copy as soon as the backup process
starts. It does then backup all files from the shadow copy and destroys the
shadow copy after the backup process. Please have in mind, that VSS
creates a snapshot and thus backs up the system at the state it had
when starting the backup. It will disregard file changes which occur during
the backup process.

VSS can be turned on by placing an

\index[dir]{Enable VSS}
\index[general]{Enable VSS}
\begin{verbatim}
Enable VSS = yes
\end{verbatim}

in your FileSet resource. 

The VSS aware File daemon has the letters VSS on the signon line that
it produces when contacted by the console. For example:
\begin{verbatim}
Tibs-fd Version: 1.37.32 (22 July 2005) VSS Windows XP MVS NT 5.1.2600
\end{verbatim}
the VSS is shown in the line above. This only means that the File daemon
is capable of doing VSS not that VSS is turned on for a particular backup.
There are two ways of telling if VSS is actually turned on during a backup.
The first is to look at the status output for a job, e.g.:
\footnotesize
\begin{verbatim}
Running Jobs:
JobId 1 Job NightlySave.2005-07-23_13.25.45 is running.
    VSS Backup Job started: 23-Jul-05 13:25
    Files=70,113 Bytes=3,987,180,650 Bytes/sec=3,244,247
    Files Examined=75,021
    Processing file: c:/Documents and Settings/kern/My Documents/My Pictures/Misc1/Sans titre - 39.pdd
    SDReadSeqNo=5 fd=352
\end{verbatim}
\normalsize
Here, you see under Running Jobs that JobId 1 is "VSS Backup Job started ..." 
This means that VSS is enabled for that job.  If VSS is not enabled, it will
simply show "Backup Job started ..." without the letters VSS.

The second way to know that the job was backed up with VSS is to look at the 
Job Report, which will look something like the following:
\footnotesize
\begin{verbatim}
23-Jul 13:25 rufus-dir: Start Backup JobId 1, Job=NightlySave.2005-07-23_13.25.45
23-Jul 13:26 rufus-sd: Wrote label to prelabeled Volume "TestVolume001" on device "DDS-4" (/dev/nst0)
23-Jul 13:26 rufus-sd: Spooling data ...
23-Jul 13:26 Tibs: Generate VSS snapshots. Driver="VSS WinXP", Drive(s)="C"
23-Jul 13:26 Tibs: VSS Writer: "MSDEWriter", State: 1 (VSS_WS_STABLE)
23-Jul 13:26 Tibs: VSS Writer: "Microsoft Writer (Bootable State)", State: 1 (VSS_WS_STABLE)
23-Jul 13:26 Tibs: VSS Writer: "WMI Writer", State: 1 (VSS_WS_STABLE)
23-Jul 13:26 Tibs: VSS Writer: "Microsoft Writer (Service State)", State: 1 (VSS_WS_STABLE)
\end{verbatim}
\normalsize
In the above Job Report listing, you see that the VSS snapshot was generated for drive C (if
other drives are backed up, they will be listed on the {\bf Drive(s)="C"}  You also see the
reports from each of the writer program.  Here they all report VSS\_WS\_STABLE, which means
that you will get a consistent snapshot of the data handled by that writer.

\section{VSS Problems}
\index[general]{Problems!VSS}
\index[fd] {Problems!VSS}
\index[general]{VSS Problems}
\index[fd]{VSS Problems}

If you are experiencing problems such as VSS hanging on MSDE, first try
running {\bf vssadmin} to check for problems, then try running {\bf
ntbackup} which also uses VSS to see if it has similar problems. If so, you
know that the problem is in your Windows machine and not with Bacula.

The FD hang problems were reported with {\bf MSDEwriter} when:
\begin{itemize}
\item a local firewall locked local access to the MSDE TCP port (MSDEwriter
seems to use TCP/IP and not Named Pipes).  
\item msdtcs was installed to run under "localsystem": try running msdtcs
under  networking account (instead of local system) (com+ seems to work
better with this configuration).
\end{itemize}


\section{Windows Firewalls}
\index[general]{Firewalls!Windows}
\index[general]{Windows Firewalls}

If you turn on the firewalling feature on Windows (default in WinXP SP2), you
are likely to find that the Bacula ports are blocked and you cannot
communicate to the other daemons. This can be deactivated through the {\bf
Security Notification} dialog, which is apparently somewhere in the {\bf
Security Center}. I don't have this on my computer, so I cannot give the exact
details. 

The command: 

\footnotesize
\begin{verbatim}
netsh firewall set opmode disable
\end{verbatim}
\normalsize

is purported to disable the firewall, but this command is not accepted on my
WinXP Home machine. 

\section{Windows Port Usage}
\index[general]{Windows Port Usage}
\index[general]{Usage!Windows Port}

If you want to see if the File daemon has properly opened the port and is
listening, you can enter the following command in a shell window: 

\footnotesize
\begin{verbatim}
   netstat -an | findstr 910[123]
\end{verbatim}
\normalsize

TopView is another program that has been recommend, but it is not a
standard Win32 program, so you must find and download it from the Internet.

\section{Windows Disaster Recovery}
\index[general]{Recovery!Windows Disaster}
\index[general]{Windows Disaster Recovery}

We don't currently have a good solution for disaster recovery on Windows as we
do on Linux. The main piece lacking is a Windows boot floppy or a Windows boot
CD. Microsoft releases a Windows Pre-installation Environment ({\bf WinPE})
that could possibly work, but we have not investigated it. This means that
until someone figures out the correct procedure, you must restore the OS from
the installation disks, then you can load a Bacula client and restore files.
Please don't count on using {\bf bextract} to extract files from your backup
tapes during a disaster recovery unless you have backed up those files using
the {\bf portable} option. {\bf bextract} does not run on Windows, and the
normal way Bacula saves files using the Windows API prevents the files from
being restored on a Unix machine. Once you have an operational Windows OS
loaded, you can run the File daemon and restore your user files. 

Please see 
\ilink{ Disaster Recovery of Win32 Systems}{Win3233} for the latest
suggestion, which looks very promising. 

It looks like Bart PE Builder, which creates a Windows PE (Pre-installation
Environment) Boot-CD, may be just what is needed to build a complete disaster
recovery system for Win32. This distribution can be found at 
\elink{http://www.nu2.nu/pebuilder/}{\url{http://www.nu2.nu/pebuilder/}}.

\section{Windows Restore Problems}
\index[general]{Problems!Windows Restore}
\index[general]{Windows Restore Problems}
Please see the  
\ilink{Restore Chapter}{Windows} of this manual for problems
that you might encounter doing a restore.

section{Windows Backup Problems}
\index[general]{Problems!Windows Backup}
\index[general]{Windows Backup Problems}
If during a Backup, you get the message: 
{\bf ERR=Access is denied} and you are using the portable option,
you should try both adding both the non-portable (backup API) and
the Volume Shadow Copy options to your Director's conf file.

In the Options resource:
\footnotesize
\begin{verbatim}
portable = no
\end{verbatim}
\normalsize

In the FileSet resource:
\footnotesize
\begin{verbatim}
enablevss = yes
\end{verbatim}
\normalsize

In general, specifying these two options should allow you to backup
any file on a Windows system.  However, in some cases, if users
have allowed to have full control of their folders, even system programs
such a Bacula can be locked out.  In this case, you must identify
which folders or files are creating the problem and do the following:

\begin{enumerate}
\item Grant ownership of the file/folder to the Administrators group,
with the option to replace the owner on all child objects.
\item Grant full control permissions to the Administrators group,
and change the user's group to only have Modify permission to
the file/folder and all child objects.
\end{enumerate}

Thanks to Georger Araujo for the above information.

\section{Windows Ownership and Permissions Problems}
\index[general]{Problems!Windows Ownership and Permissions}
\index[general]{Windows Ownership and Permissions Problems}

If you restore files backed up from WinNT/XP/2K to an alternate directory,
Bacula may need to create some higher level directories that were not saved
(or restored). In this case, the File daemon will create them under the SYSTEM
account because that is the account that Bacula runs under as a service. As of
version 1.32f-3, Bacula creates these files with full access permission.
However, there may be cases where you have problems accessing those files even
if you run as administrator. In principle, Microsoft supplies you with the way
to cease the ownership of those files and thus change the permissions.
However, a much better solution to working with and changing Win32 permissions
is the program {\bf SetACL}, which can be found at 
\elink{http://setacl.sourceforge.net/}{\url{http://setacl.sourceforge.net/}}. 

If you have not installed Bacula while running as Administrator
and if Bacula is not running as a Process with the userid (User Name) SYSTEM, 
then it is very unlikely that it will have sufficient permission to
access all your files. 

Some users have experienced problems restoring files that participate in
the Active Directory. They also report that changing the userid under which
Bacula (bacula-fd.exe) runs, from SYSTEM to a Domain Admin userid, resolves
the problem.


\section{Manually resetting the Permissions}
\index[general]{Manually resetting the Permissions}
\index[general]{Permissions!Manually resetting the}

The following solution was provided by Dan Langille \lt{}dan at langille in
the dot org domain\gt{}. The steps are performed using Windows 2000 Server but
they should apply to most Win32 platforms. The procedure outlines how to deal
with a problem which arises when a restore creates a top-level new directory.
In this example, "top-level" means something like {\bf
c:\textbackslash{}src}, not {\bf c:\textbackslash{}tmp\textbackslash{}src}
where {\bf c:\textbackslash{}tmp} already exists. If a restore job specifies /
as the {\bf Where:} value, this problem will arise. 

The problem appears as a directory which cannot be browsed with Windows
Explorer. The symptoms include the following message when you try to click on
that directory: 

\includegraphics{\idir access-is-denied.eps} 

If you encounter this message, the following steps will change the permissions
to allow full access. 

\begin{enumerate}
\item right click on the top level directory (in this example, {\bf c:/src})
   and  select {\bf Properties}. 
\item click on the Security tab. 
\item If the following message appears, you can ignore it, and click on {\bf
   OK}. 

\includegraphics{\idir view-only.eps} 

You should see something like this: 

\includegraphics{\idir properties-security.eps} 
\item click on Advanced 
\item click on the Owner tab 
\item Change the owner to something other than the current owner (which is
   {\bf SYSTEM} in this example as shown below). 

\includegraphics{\idir properties-security-advanced-owner.eps} 
\item ensure the "Replace owner on subcontainers and objects" box is 
   checked 
\item click on OK 
\item When the message "You do not have permission to read the contents of
   directory c:\textbackslash{}src\textbackslash{}basis. Do you wish to replace
   the directory permissions with permissions granting you Full Control?", click
on Yes. 

\includegraphics{\idir confirm.eps} 
\item Click on OK to close the Properties tab 
   \end{enumerate}

With the above procedure, you should now have full control over your restored
directory. 

In addition to the above methods of changing permissions, there is a Microsoft
program named {\bf cacls} that can perform similar functions.

\section{Backing Up the WinNT/XP/2K System State}
\index[general]{State!Backing Up the WinNT/XP/2K System}
\index[general]{Backing Up the WinNT/XP/2K System State}

A suggestion by Damian Coutts using Microsoft's NTBackup utility in
conjunction with Bacula should permit a full restore of any damaged system
files on Win2K/XP. His suggestion is to do an NTBackup of the critical system
state prior to running a Bacula backup with the following command: 

\footnotesize
\begin{verbatim}
ntbackup backup systemstate /F c:\systemstate.bkf
\end{verbatim}
\normalsize

The {\bf backup} is the command, the {\bf systemstate} says to backup only the
system state and not all the user files, and the {\bf /F
c:\textbackslash{}systemstate.bkf} specifies where to write the state file.
this file must then be saved and restored by Bacula. 

To restore the system state, you first reload a base operating system if the
OS is damaged, otherwise, this is not necessary, then you would use Bacula to
restore all the damaged or lost user's files and to recover the {\bf
c:\textbackslash{}systemstate.bkf} file. Finally if there are any damaged or
missing system files or registry problems, you run {\bf NTBackup} and {\bf
catalogue} the system statefile, and then select it for restore. The
documentation says you can't run a command line restore of the systemstate. 

To the best of my knowledge, this has not yet been tested. If you test it,
please report your results to the Bacula email list. 

\section{Considerations for Filename Specifications}
\index[general]{Windows!Considerations for Filename Specifications}

Please see the 
\ilink{Director's Configuration chapter}{win32} of this manual
for important considerations on how to specify Windows paths in Bacula FileSet
Include and Exclude directives. 

\index[general]{Unicode}
Bacula versions prior to 1.37.28 do not support Windows Unicode filenames.
As of that version, both {\bf bconsole} and {\bf bwx-console} support Windows
Unicode filenames. There may still be some problems with multiple byte
characters (e.g. Chinese, ...) where it is a two byte character but the
displayed character is not two characters wide.

\index[general]{Win32 Path Length Restriction}
Path/filenames longer than 260 characters (up to 32,000) are supported
beginning with Bacula version 1.39.20. Older Bacula versions support
only 260 character path/filenames.

\section{Win32 Specific File daemon Command Line}
\index[general]{Client!Win32 Specific File daemon Command Line Options}
\index[general]{Win32 Specific File daemon Command Line Options}

These options are not normally seen or used by the user, and are documented
here only for information purposes. At the current time, to change the default
options, you must either manually run {\bf Bacula} or you must manually edit
the system registry and modify the appropriate entries. 

In order to avoid option clashes between the options necessary for {\bf
Bacula} to run on Windows and the standard Bacula options, all Windows
specific options are signaled with a forward slash character (/), while as
usual, the standard Bacula options are signaled with a minus (-), or a minus
minus (\verb:--:). All the standard Bacula options can be used on the Windows
version. In addition, the following Windows only options are implemented: 

\begin{description}

\item [/service ]
   \index[fd]{/service}
   Start Bacula as a service 

\item [/run ]
   \index[fd]{/run}
   Run the Bacula application  

\item [/install ]
   \index[fd]{/install}
   Install Bacula as a service in the system registry  

\item [/remove ]
   \index[fd]{/remove}
   Uninstall Bacula from the system registry  

\item [/about ]
   \index[fd]{/about}
   Show the Bacula about dialogue box  

\item [/status ]
   \index[fd]{/status}
   Show the Bacula status dialogue box  

\item [/events ]
   \index[fd]{/events}
   Show the Bacula events dialogue box (not  yet implemented)  

\item [/kill ]
   \index[fd]{/kill}
   Stop any running {\bf Bacula}  

\item [/help ]
   \index[fd]{/help}
   Show the Bacula help dialogue box 
\end{description}

It is important to note that under normal circumstances the user should never
need to use these options as they are normally handled by the system
automatically once Bacula is installed. However, you may note these options in
some of the .bat files that have been created for your use. 

\section{Shutting down Windows Systems}
\index[general]{Shutting down Windows Systems}
\index[general]{Systems!Shutting down Windows}

Some users like to shutdown their Windows machines after a backup using a
Client Run After Job directive. If you want to do something similar, you might
take the shutdown program from the 
\elink{apcupsd project}{\url{http://www.apcupsd.com}} or one from the 
\elink{Sysinternals project}
{\url{http://technet.microsoft.com/en-us/sysinternals/bb897541.aspx}}.