none
Sharepoint - Powershell backup c уведомлением

    Общие обсуждения

  • Добрый день!

    Настраиваю бэкап Sharepoint средствами PowerShell.

    # ============================================================================================== # NAME: SP2010_Farm_Backup_With_Notification.ps1 # COAUTHOR: AlexMesch # DATE: 29 February 2016 # COMMENT: A Powerful Script to take backup of the entire SharePoint 2010 Farm with email notification. # Website: wasted # ============================================================================================== Add-PsSnapin Microsoft.SharePoint.Powershell –ErrorAction SilentlyContinue try { $today = (Get-Date -Format dd-MM-yyyy) #Location of the Backup Folder [IO.Directory]::CreateDirectory("\\contoso\SharepointDump\$today") # This will actually initiate the SPFarm backup. Backup-SPFarm -Directory \\contoso\SharepointDump\$today -BackupMethod full -BackupThreads 3 } Catch { $ErrorMessage = $_.Exception.Message # Configure the below parameters as per the above. $emailFrom = "user@ya.ru" $emailTo = "user@ya.ru" $subject = "The SharePoint Farm Backup Job failed on "+"$today" $body = "The SharePoint Farm Backup Job failed on "+"$today and the reason for failure was $ErrorMessage." $smtpServer = "175.75.2.12" $smtp = new-object Net.Mail.SmtpClient($smtpServer) $smtp.Send($emailFrom, $emailTo, $subject, $body) } # Edit the From Address as per your environment. $emailFrom = "user@ya.ru" # Edit the mail address to which the Notification should be sent. $emailTo = "user@ya.ru" # Subject for the notification email. The + “$today” part will add the date in the subject. $subject = "The SharePoint Farm Backup was Successful for "+"$today" # Body or the notification email. The + “$today” part will add the date in the subject. $body = "The SharePoint Farm Backup was Successful for "+"$today" # IP address of your SMTP server. Make sure relay Is enabled for the SharePoint server on your SMTP server $smtpServer = "175.75.2.12" $smtp = new-object Net.Mail.SmtpClient($smtpServer) $smtp.Send($emailFrom, $emailTo, $subject, $body)

    Вначале были проблемы с Планировщиком заданий, устранил.

    Были проблемы с версией Powershell, устранил.

    Теперь скрипт работает, нужные папки создает, даже создает папки структуры бэкапа, но они пустые а он уведомление об успешном выполнении приходит на почту. В чем может быть проблема?





    31 марта 2016 г. 11:38

Все ответы

  • Добрый день

    а доступ есть к записи у той учетки из под которой делается бекап?

    знаю что при бэкапе у меня не было прав на директорию бэкапа для учетки  из под которой запущен SQL и из-за этого не бэкапился контент и конфигурация. 


    мой блог Немного о SharePoint


    31 марта 2016 г. 14:24
  • Проверил права везде есть, ошибок с отсутствием доступа нигде не проскакивает. Копаю дальше (
    31 марта 2016 г. 14:45
  • А что происходит при бэкапе через веб? 

    мой блог Немного о SharePoint

    31 марта 2016 г. 16:26
  • Через веб все отлично выполняется и всегда было успешно.
    1 апреля 2016 г. 2:10
  • просто хочу уточнить.
    Вы проверяли права на шару:
    1. Учетная запись под которой запускаеся powershell

    2. Учетная запись под которой работает SQL сервис обслуживающий эту ферму

    3. Учетная запись службы таймера SPTimerV4

    1 апреля 2016 г. 9:33
  • Внимательно проверил, учетные записи имеют доступ к директории.
    1 апреля 2016 г. 9:57
  • отдельно 
    Backup-SPFarm -Directory \\contoso\SharepointDump\$today -BackupMethod full -BackupThreads 3

    с вербосом запускали?


    1 апреля 2016 г. 11:28
  • Backup-SPFarm -Directory \\agena\SharepointDump\ -BackupMethod full -BackupThreads 3

    Так, без $today, которая здесь не определена, запускается и все успешно.

    В полной версии где $today определена, скрипт успешно создает директорию с датой и структурой папок бэкапа.

    Verbose включен сейчас



    1 апреля 2016 г. 12:40
  • Может как то так попробовать, может ошибаюсь но идея какая то такая

    $today =(Get-Date -Format dd-MM-yyyy)
    write-host $today -ForegroundColor Green
    $myFolder = "\\contoso\SharepointDump\"
    write-host $myFolder -ForegroundColor Green
    New-Item -Name $myFolder -ItemType director -Path $myFolder
    write-host $myFolder -ForegroundColor Green
    $backUpFolder = Get-ChildItem $mefolder -recurse | Where-Object {$_.PSIsContainer -eq $true -and $_.Name -match $today}
    write-host $backUpFolder -ForegroundColor Green
    Backup-SPFarm -Directory $backUpFolder -BackupMethod full -BackupThreads 3

    1 апреля 2016 г. 13:32
  • Это не шутка с 1 апреля? )
    4 апреля 2016 г. 15:00