Назад | Перейти на главную страницу

Невозможно сделать резервную копию каталога Windows с помощью Bacula

Резервное копирование и восстановление работает в Linux

Директор Bacula (DIR), File Daemon (FD) и Storage Daemon (SD) были установлены на хосте Linux, было выполнено резервное копирование, и файлы можно было восстановить.

Сбой резервного копирования в Windows

Следующим шагом является резервное копирование файлов, находящихся в Windows. А FD установлен и работает в Windows:

C:\Program Files\Bacula>netstat -nat | grep 91
  TCP    0.0.0.0:9102           0.0.0.0:0              LISTENING       InHost

  TCP    0.0.0.0:9102           0.0.0.0:0              LISTENING       InHost

Telnet указал, что хост Windows может подключиться к DIR и SD которые находятся в Linux:

Не удалось указать "c: \ temp": ERR = Нет такого файла или каталога

C:\Program Files\Bacula>bconsole
Connecting to Director IP1:9101
1000 OK: bacula-dir Version: 5.0.0 (26 January 2010)
Enter a period to cancel a command.
*run
Automatically selected Catalog: MyCatalog
Using Catalog "MyCatalog"
A job name must be specified.
The defined Job resources are:
     1: BackupClient1
     2: BackupCatalog
     3: RestoreFiles
Select Job resource (1-3): *1
Run Backup job
JobName:  BackupClient1
Level:    Incremental
Client:   bacula-fd
FileSet:  Full Set
Pool:     File (From Job resource)
Storage:  File (From Job resource)
When:     2014-08-28 21:55:37
Priority: 10
OK to run? (yes/mod/no): *yes
Job queued. JobId=16
You have messages.
*messages
28-Aug 21:42 bacula-dir: ERROR in authenticate.c:304 UA Hello from client:IP1:PORT is invalid. Len=-4
28-Aug 21:55 bacula-dir JobId 16: Start Backup JobId 16, Job=BackupClient1.2014-
08-28_21.55.41_09
28-Aug 21:55 bacula-dir JobId 16: Using Device "FileStorage"
28-Aug 21:55 bacula-sd JobId 16: Volume "hello" previously written, moving to en
d of data.
28-Aug 21:55 bacula-sd JobId 16: Ready to append to end of Volume "hello" size=5
6881490
28-Aug 21:55 bacula-fd JobId 16:      Could not stat "c:\temp": ERR=No such file
 or directory
28-Aug 21:55 bacula-sd JobId 16: Job write elapsed time = 00:00:01, Transfer rat
e = 0  Bytes/second
28-Aug 21:55 bacula-dir JobId 16: Bacula bacula-dir 5.0.0 (26Jan10): 28-Aug-2014
 21:55:44
  Build OS:               x86_64-redhat-linux-gnu redhat (Carbon)
  JobId:                  16
  Job:                    BackupClient1.2014-08-28_21.55.41_09
  Backup Level:           Incremental, since=2014-08-28 21:22:07
  Client:                 "bacula-fd" 5.0.0 (26Jan10) x86_64-redhat-linux-gnu,re
dhat,(Carbon)
  FileSet:                "Full Set" 2014-08-28 20:36:03
  Pool:                   "File" (From Job resource)
  Catalog:                "MyCatalog" (From Client resource)
  Storage:                "File" (From Job resource)
  Scheduled time:         28-Aug-2014 21:55:37
  Start time:             28-Aug-2014 21:55:44
  End time:               28-Aug-2014 21:55:44
  Elapsed time:           0 secs
  Priority:               10
  FD Files Written:       0
  SD Files Written:       0
  FD Bytes Written:       0 (0 B)
  SD Bytes Written:       0 (0 B)
  Rate:                   0.0 KB/s
  Software Compression:   None
  VSS:                    no
  Encryption:             no
  Accurate:               no
  Volume name(s):
  Volume Session Id:      4
  Volume Session Time:    1409258126
  Last Volume Bytes:      56,881,890 (56.88 MB)
  Non-fatal FD errors:    1
  SD Errors:              0
  FD termination status:  OK
  SD termination status:  OK
  Termination:            Backup OK -- with warnings

28-Aug 21:55 bacula-dir JobId 16: Begin pruning Jobs older than 44 years 2 month
s 10 days 21 hours 55 mins 44 sec.
28-Aug 21:55 bacula-dir JobId 16: No Jobs found to prune.
28-Aug 21:55 bacula-dir JobId 16: Begin pruning Jobs.
28-Aug 21:55 bacula-dir JobId 16: No Files found to prune.
28-Aug 21:55 bacula-dir JobId 16: End auto prune.

*

Вопрос

Почему FD указывает, что невозможно создать резервную копию c: \ temp, пока он существует?

C:\Program Files\Bacula>dir c:\ | findstr temp
08/25/2014  12:40 AM    <DIR>          temp

Could not stat "c:\temp": ERR=No such file or directory пока c:\temp существует означает, что по какой-то причине каталог не может быть найден. Причина в том, что FD должен работать на хосте для резервного копирования.

  1. Добавьте клиент Windows (FD) в /etc/bacula/bacula-dir.conf, скопировав файл linux FD и изменение localhost на IP2 или FQDN2
  2. Измените Client, расположенный в части Job, на имя FD
  3. Измените или добавьте файл, расположенный в FileSet, например, в c: / темп
  4. Проверьте, настроен ли IP1 или FQDN1 хоста linux как SD хост (следует избегать localhost как внешнего ФД не может получить к нему доступ)
  5. Перезапустите DIR и SD
  6. Бегать sudo bconsole
  7. Выполнить статусный клиент и выберите клиент Windows
  8. Выполните команды Bacula для резервного копирования и восстановления файлов Windows.

/etc/bacula/bacula-dir.conf

JobDefs {
  Name = "DefaultJob"
  Type = Backup
  Level = Incremental
  Client = utrecht-fd
  FileSet = "Full Set"
  ...
}

Client {
  Name = utrecht-fd
  Address = IP2
  FDPort = 9102
  ...
}

Storage {
  Name = File
  Address = IP1
  SDPort = 9103
  ...
  Device = FileStorage
  ...
}

FileSet {
  Name = "Full Set"
  ...
  File = c:/test
  ...
}
File = C:\\test

или

File = C:\\temp

использовать \\