none
bat файл с уведомлением на почту RRS feed

  • Вопрос

  • Здравствуйте.

    Есть скрипт по резервному копированию базы 1С

    Вот скрипт:

    @echo ... >> C:\Backup\1c8_Log.txt
    @date /T  >> C:\Backup\1c8_Log.txt
    @time /T  >> C:\Backup\1c8_Log.txt
    @echo .
    @echo НЕ ЗАКРЫВАЙТЕ ЭТО ОКНО !!!
    @echo .
    @echo ВЫПОЛНЯЕТСЯ РЕЗЕРВНОЕ КОПИРОВАНИЕ РАБОЧЕЙ БАЗЫ 1C 
    @echo .
    @set datetemp=%date:~-10%
    TASKKILL /F /IM 1cv8.exe /T
    "C:\Program Files\1cv82\8.2.15.294\bin\1cv8.exe" config /S server1c\ut /N "Admin" /P "1235678" /DumpIB C:\BackUP\BASE_%datetemp%.dt /Out "C:\Backup\1c8_Log.txt" -NoTruncate
    @echo .
    @echo УДАЛЕНИЕ РЕЗЕРВНОЙ КОПИИ СТАРШЕ 10 ДНЕЙ
    forfiles -p C:\BackUP -s -m *.* -d-10 -c "cmd /c del /q /f @file"

    Как сделать чтобы после очисти хранилища резервного копирования присылалось на почту info@domain.local уведомление c темой : SRV-0092-Backup-1C

    Тело: Успех или Неудача (если задание не выполнено )

    Заранее благодарен.


    Сначала Вас игнорируют, потом над Вами смеются, потом с Вами борются, а затем Вы победили.


    • Изменено MR.Minion 29 марта 2013 г. 11:58
    29 марта 2013 г. 11:57

Ответы

  • Blat - http://sourceforge.net/projects/blat/

    "C:\Program Files\1cv82\8.2.15.294\bin\1cv8.exe" config /S server1c\ut /N "Admin" /P "1235678" /DumpIB C:\BackUP\BASE_%datetemp%.dt /Out "C:\Backup\1c8_Log.txt" -NoTruncate
    @echo .
    @echo УДАЛЕНИЕ РЕЗЕРВНОЙ КОПИИ СТАРШЕ 10 ДНЕЙ
    
    if errorlevel 1 (
    	blat -to %MAILTO% -subject "SRV-0092-Backup-1C" -body "Неудача" - -u %MUSER% -pw %MPWD%
    	exit
    )
    if errorlevel 0 (
    	forfiles -p C:\BackUP -s -m *.* -d-10 -c "cmd /c del /q /f @file"
    	blat -to %MAILTO% -subject "SRV-0092-Backup-1C" -body "Успех"  -u %MUSER% -pw %MPWD
    )

    • Предложено в качестве ответа Arty Romanenko 29 марта 2013 г. 12:55
    • Помечено в качестве ответа MR.Minion 29 марта 2013 г. 12:59
    29 марта 2013 г. 12:49
    Отвечающий

Все ответы

  • если есть возможность подгрузить powershell, то тогда в CMD-скрипт дописываете вызов powershell-скрипта, отправляющего почту

    Send-Email.ps1 -To "admin@immo.ru" -Subject "Test email" -Body "This is a test"
    param([string] $to, [string] $subject, [string] $body)
    
    $smtpServer = "smtp.domain.ru"
    $smtpFrom = "admin@domain.ru"
    $smtpTo = $to
    $messageSubject = $subject
    $messageBody = $body
    
    $smtp = New-Object Net.Mail.SmtpClient($smtpServer)
    $smtp.Send($smtpFrom,$smtpTo,$messagesubject,$messagebody)

    29 марта 2013 г. 12:42
  • если есть возможность подгрузить powershell, то тогда в CMD-скрипт дописываете вызов powershell-скрипта, отправляющего почту

    Send-Email.ps1 -To "admin@immo.ru" -Subject "Test email" -Body "This is a test"
    param([string] $to, [string] $subject, [string] $body)
    
    $smtpServer = "smtp.domain.ru"
    $smtpFrom = "admin@domain.ru"
    $smtpTo = $to
    $messageSubject = $subject
    $messageBody = $body
    
    $smtp = New-Object Net.Mail.SmtpClient($smtpServer)
    $smtp.Send($smtpFrom,$smtpTo,$messagesubject,$messagebody)

    А без PS сделать можно ?

    Сначала Вас игнорируют, потом над Вами смеются, потом с Вами борются, а затем Вы победили.

    29 марта 2013 г. 12:44
  • Blat - http://sourceforge.net/projects/blat/

    "C:\Program Files\1cv82\8.2.15.294\bin\1cv8.exe" config /S server1c\ut /N "Admin" /P "1235678" /DumpIB C:\BackUP\BASE_%datetemp%.dt /Out "C:\Backup\1c8_Log.txt" -NoTruncate
    @echo .
    @echo УДАЛЕНИЕ РЕЗЕРВНОЙ КОПИИ СТАРШЕ 10 ДНЕЙ
    
    if errorlevel 1 (
    	blat -to %MAILTO% -subject "SRV-0092-Backup-1C" -body "Неудача" - -u %MUSER% -pw %MPWD%
    	exit
    )
    if errorlevel 0 (
    	forfiles -p C:\BackUP -s -m *.* -d-10 -c "cmd /c del /q /f @file"
    	blat -to %MAILTO% -subject "SRV-0092-Backup-1C" -body "Успех"  -u %MUSER% -pw %MPWD
    )

    • Предложено в качестве ответа Arty Romanenko 29 марта 2013 г. 12:55
    • Помечено в качестве ответа MR.Minion 29 марта 2013 г. 12:59
    29 марта 2013 г. 12:49
    Отвечающий