2016-10-17 4 views
1

Je:Veeam Backup Free, partage Samba et PowerShell: refuser l'accès

  • ESXi avec quelques machines virtuelles
  • Veeam Backup Free Edition installé sur l'une des machines virtuelles (Windows Server 2012 R2)
  • hôte Debian avec samba sur elle

j'ai réussi avec:

  • Faire un dossier partagé avec la samba sur la machine debian
  • Faire une sauvegarde manuelle à l'aide Veeam GUI de sauvegarde dans le dossier sur la machine debian

J'ai du mal avec:

  • sauvegarde en cours à partir du script PowerShell être capable de faire des sauvegardes planifiées.

Ce topic sur le forum Veeam suggère à

subvention compte Veeam ainsi que l'ordinateur compte des autorisations de lecture/écriture sur la part donnée

Mais je ne sais pas comment en fait accorder ces autorisations au dossier samba.

Pourriez-vous s'il vous plaît m'aider avec l'octroi des autorisations pour le dossier samba?

est le script ici:

# Author: Vladimir Eremin 
# Created Date: 3/24/2015 
# http://forums.veeam.com/member31097.html 
# 

################################################################## 
#     User Defined Variables 
################################################################## 

# Names of VMs to backup separated by semicolon (Mandatory) 
$VMNames = "<my vm name>" 

# Name of vCenter or standalone host VMs to backup reside on (Mandatory) 
$HostName = "<my hostname>" 

# Directory that VM backups should go to (Mandatory; for instance, C:\Backup) 
$Directory = "\\1.2.3.4\backup" 

# Desired compression level (Optional; Possible values: 0 - None, 4 - Dedupe-friendly, 5 - Optimal, 6 - High, 9 - Extreme) 
$CompressionLevel = "5" 

# Quiesce VM when taking snapshot (Optional; VMware Tools are required; Possible values: $True/$False) 
$EnableQuiescence = $False 

# Protect resulting backup with encryption key (Optional; $True/$False) 
$EnableEncryption = $False 

# Encryption Key (Optional; path to a secure string) 
$EncryptionKey = "" 

# Retention settings (Optional; By default, VeeamZIP files are not removed and kept in the specified location for an indefinite period of time. 
# Possible values: Never , Tonight, TomorrowNight, In3days, In1Week, In2Weeks, In1Month) 
$Retention = "Never" 

################################################################## 
#     Notification Settings 
################################################################## 

# Enable notification (Optional) 
$EnableNotification = $False 

# Email SMTP server 
$SMTPServer = "" 

# Email FROM 
$EmailFrom = "" 

# Email TO 
$EmailTo = "" 

# Email subject 
$EmailSubject = "" 

################################################################## 
#     Email formatting 
################################################################## 

$style = "<style>BODY{font-family: Arial; font-size: 10pt;}" 
$style = $style + "TABLE{border: 1px solid black; border-collapse: collapse;}" 
$style = $style + "TH{border: 1px solid black; background: #dddddd; padding: 5px; }" 
$style = $style + "TD{border: 1px solid black; padding: 5px; }" 
$style = $style + "</style>" 

################################################################## 
#     End User Defined Variables 
################################################################## 

#################### DO NOT MODIFY PAST THIS LINE ################ 
Asnp VeeamPSSnapin 

$Server = Get-VBRServer -name $HostName 
$MesssagyBody = @() 

foreach ($VMName in $VMNames) 
{ 
    $VM = Find-VBRViEntity -Name $VMName -Server $Server 

    If ($EnableEncryption) 
    { 
    $EncryptionKey = Add-VBREncryptionKey -Password (cat $EncryptionKey | ConvertTo-SecureString) 
    $ZIPSession = Start-VBRZip -Entity $VM -Folder $Directory -Compression $CompressionLevel -DisableQuiesce:(!$EnableQuiescence) -AutoDelete $Retention -EncryptionKey $EncryptionKey 
    } 

    Else 
    { 
    $ZIPSession = Start-VBRZip -Entity $VM -Folder $Directory -Compression $CompressionLevel -DisableQuiesce:(!$EnableQuiescence) -AutoDelete $Retention 
    } 

    If ($EnableNotification) 
    { 
    $TaskSessions = $ZIPSession.GetTaskSessions().logger.getlog().updatedrecords 
    $FailedSessions = $TaskSessions | where {$_.status -eq "EWarning" -or $_.Status -eq "EFailed"} 

    if ($FailedSessions -ne $Null) 
    { 
    $MesssagyBody = $MesssagyBody + ($ZIPSession | Select-Object @{n="Name";e={($_.name).Substring(0, $_.name.LastIndexOf("("))}} ,@{n="Start Time";e={$_.CreationTime}},@{n="End Time";e={$_.EndTime}},Result,@{n="Details";e={$FailedSessions.Title}}) 
    } 

    Else 
    { 
    $MesssagyBody = $MesssagyBody + ($ZIPSession | Select-Object @{n="Name";e={($_.name).Substring(0, $_.name.LastIndexOf("("))}} ,@{n="Start Time";e={$_.CreationTime}},@{n="End Time";e={$_.EndTime}},Result,@{n="Details";e={($TaskSessions | sort creationtime -Descending | select -first 1).Title}}) 
    } 

    } 
} 
If ($EnableNotification) 
{ 
$Message = New-Object System.Net.Mail.MailMessage $EmailFrom, $EmailTo 
$Message.Subject = $EmailSubject 
$Message.IsBodyHTML = $True 
$message.Body = $MesssagyBody | ConvertTo-Html -head $style | Out-String 
$SMTP = New-Object Net.Mail.SmtpClient($SMTPServer) 
$SMTP.Send($Message) 
} 

Répondre

0

Lorsque l'exécution des travaux dans la console, ce n'est pas un problème car le travail utilisera les informations d'identification spécifiées - c'est un problème que lors de la création d'emplois en ligne de commande. Le correctif pour cela consiste à définir le service "Veeam Data Mover" comme un compte disposant des autorisations d'écriture sur la cible.