Кто-нибудь знает, как я могу изменить этот SQL сценарий резервного копирования сервера, чтобы он мог сделать двойное резервное копирование 1 и 2 для моей базы данных, как это?
If day = saturday or sunday or monday Then
Create Backup 1
if Backup1 = Success Then
Delete Backup 2
Else
Mail to my email
Endif
Else
Create Backup 2
if Backup2 = Success Then
Delete Backup 1
endif
endif
Проблема в том, что моя база данных слишком большой, и мне приходится каждый раз удалять его, теперь я хочу иметь копию этой резервной копии базы данных1 и удалить только одну (backup2), чтобы всегда иметь копию.
Я новичок в написании сценариев, и я искал много но я не нашел хорошую идею.
@echo off
::SQL-DB-Backup
SQLCMD -b -E -S mycomputer\SQLEXPRESS -i C:\Daten\ServerScript\Backup_01.sql
if errorlevel 1 echo 1 && goto SQLfailure
if errorlevel 0 echo 0
goto SQLsuccess
:SQLfailure
set SMTP=10.10.10.1
set SUBJECT=BACKUP FAILED
set BODY=BACKUP FAILED. The backup was not carried out correctly. SQL DB not saved! Backup process canceled
set FROM=nasro@gmail.com
set TO=nasro1@gmail.com
echo send mail...
powershell -ExecutionPolicy Unrestricted -c "Send-MailMessage -To '%TO%' -Subject '%SUBJECT%' -Body '%BODY%' -SmtpServer '%SMTP%' -From '%FROM%'"
goto :EOF
:SQLsuccess
echo SQL-Backup finished, start copying files...
::Restdaten Backup
C:\Windows\System32\xcopy.exe C:\Daten\* \\10.10.10.1\Backup_01/EXCLUDE:C:\Daten\ServerScript\BackupExclude.txt /E /Y /M >C:\Daten\ServerScript\Backup.log
echo all files duplicated...
if errorlevel 5 echo 5 && goto failure
if errorlevel 4 echo 4 && goto failure
if errorlevel 3 echo 3 && goto failure
if errorlevel 2 echo 2 && goto failure
if errorlevel 1 echo 1 && goto failure
if errorlevel 0 echo 0
goto success
::E-Mail notifiaction
:failure
set SMTP=10.10.10.1
set SUBJECT=BACKUP FAILED
set BODY=BACKUP FAILED. The backup was not carried out correctly. Kopierfehler!
set FROM=nasro@gmail.com
set TO=nasro1@gmail.com
echo send mail...
powershell -ExecutionPolicy Unrestricted -c "Send-MailMessage -To '%TO%' -Subject '%SUBJECT%' -Body '%BODY%' -SmtpServer '%SMTP%' -From '%FROM%'"
goto :EOF
:success
set SMTP=10.10.20.8
set SUBJECT=BACKUP SUCCESS
set BODY=BACKUP COMPLETED. The backup was carried out correctly.
set FROM=nasro@gmail.com
set TO=nasro1@gmail.com
echo send mail...
powershell -ExecutionPolicy Unrestricted -c "Send-MailMessage -To '%TO%' -Subject '%SUBJECT%' -Body '%BODY%' -SmtpServer '%SMTP%' -From '%FROM%'"