Forum
Herkese iyi akşamlar,
Tek bir .bat dosyası ile otomatik olarak, sql server durdurulup klasör yedeği alınabilir mi?
Klasör yedeği alınırken her seferinde üzerine yazmaması için klasör ismi yenilenebilir mi? Otomatik olarak
Elimde birden fazla tam yedek olmasını istiyorum. Bu işlemi bir program ile değil görev zamanlayıcısı ile .bat dosyası ile yapmak istiyorum.
Merhaba, evet bunu yapabilirsin, bu bat dosyasını zamanlanmış görev olarak tanımlaman yeterli;
@echo off
REM ============================
REM SQL Server klasör yedekleme scripti
REM ============================
REM Yedek alınacak kaynak klasör
set SOURCE=C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\Data
REM Yedeklerin kaydedileceği hedef klasör
set BACKUPROOT=D:\SQL_Yedekleri
REM Tarih-saat damgası oluştur (YYYYMMDD_HHMM)
for /f "tokens=2 delims==" %%I in ('"wmic os get localdatetime /value"') do set datetime=%%I
set datepart=%datetime:~0,8%
set timepart=%datetime:~8,4%
set FOLDERNAME=%datepart%_%timepart%
REM SQL Server servisini durdur
echo SQL Server servisi durduruluyor...
net stop MSSQLSERVER
if errorlevel 1 (
echo Hata: Servis durdurulamadı!
pause
exit /b
)
REM Yeni yedek klasörü oluştur
set BACKUPFOLDER=%BACKUPROOT%\Backup_%FOLDERNAME%
mkdir "%BACKUPFOLDER%"
REM Dosyaları kopyala (klasör yapısını koruyarak)
echo Yedekleme baslatiliyor...
xcopy "%SOURCE%\*" "%BACKUPFOLDER%\" /E /I /H /Y
echo Yedekleme tamamlandi: %BACKUPFOLDER%
REM SQL Server servisini tekrar başlat
echo SQL Server servisi yeniden baslatiliyor...
net start MSSQLSERVER
echo Islem tamamlandi.
pause
Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************
Çok Teşekkür Ederim.
Hakan Bey,
Merhaba, Bu script dosyasına klasör sıkıştırmayı ekleyebilir miyiz? Nasıl? İnternetten baya bi araştırdım denedim olmadı. Teşekkürler tekrar
Özel sipariş almıyoruz 🙂 Üstünü siz geliştirebilirsiniz. Bu arada forumda daha önce sıkıştırılmış halini paylaşmıştım.
Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************
Ok sağolun
Rica ederiz, kolaylıklar.
Danışman - ITSTACK Bilgi Sistemleri
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************
Merhaba,
https://www.cozumpark.com/sql-script-ile-otomatik-backup-ve-restore/
https://www.cozumpark.com/batch-dosyasi-ile-dosya-sikistirma-ve-silme-islemleri/
1984 doğumluyum. 4 yaşından bu yana İstanbul’da yaşıyorum. Sırası ile aşağıdaki okullarda eğitim gördüm. Paşaköy ilkokulu (1990-1995) Kartal Zekeriyya Güçer İlköğretim Okulu(1995-1998) Ümraniye Teknik ve Endüstri Meslek Lisesi Bilgisayar Bölümü(1998-2001) Kocaeli Üniversitesi Bilgisayar Programcılığı(2002-2004) Anadolu Ünv. İşletme Fakültesi(2006-2009) Lise yıllarından sonra bir bilgisayar firmasının teknik servisinde mesleğe merhaba dedim. Outsource olarak Citibank ytl ve bina taşınma projesinde yer alarak 8 ay görev yaptım. Bu görevden sonra şu an çalışmakta olduğum yerde bilgi işlem sorumlusu olarak göreve başladım ve 18 yıldır görevimin başındayım.
Teşekkürler, tek bir script üzerinden; zamanlı, sıkıştırıyor, mail atıyor, sql i durdurup tekrar çalıştırıyor, 10 gün önceki yedekleri otomatik siliyor.
Zirve Yazılım klasör yedeği istediği için bu lazımdı
7/24 çalışan bir firma olsa ne yapacaklarmış. Çalışanları durdurup 'Durun Ben bir yedek alayım. Sonra devam edin." mı diyecekler.
Yaaa var yaa..
7/24 çalışan bir firma olsa ne yapacaklarmış. Çalışanları durdurup 'Durun Ben bir yedek alayım. Sonra devam edin." mı diyecekler.
Yaaa var yaa..
Demiyecekler, Zirve Drive ı kullanın diyecekler. Talebinize göre şu kadar GB boş alan şu fiyat diyecekler.
Merhaba,
Full halini buraya yükler misiniz lütfen , başka arkadaşlarda faydalansın...
iyi akşamlar,
script için Hakan Bey e teşekkür etmemiz lazım
@echo off
title SQL YEDEK - TEMIZ VE KESIN CALISAN VERSIYON
setlocal EnableDelayedExpansion
set SOURCE=C:\GO
set BACKUPROOT=D:\X
for /f "tokens=2 delims==" %%I in ('wmic os get localdatetime /value') do set dt=%%I
set FOLDERNAME=%dt:~0,8%_%dt:~8,4%
echo Servis durduruluyor...
net stop MSSQLSERVER >nul
mkdir "%BACKUPROOT%\Backup_%FOLDERNAME%" >nul
echo Kopyalaniyor...
xcopy "%SOURCE%\*" "%BACKUPROOT%\Backup_%FOLDERNAME%\" /E /I /H /Y >nul
echo Servis baslatiliyor...
net start MSSQLSERVER >nul
echo RAR yapiliyor...
"C:\Program Files\WinRAR\Rar.exe" a -m5 -ep1 -r -inul "%BACKUPROOT%\Backup_%FOLDERNAME%.rar" "%BACKUPROOT%\Backup_%FOLDERNAME%\" >nul
rd /s /q "%BACKUPROOT%\Backup_%FOLDERNAME%" >nul
echo Eski RARlar siliniyor...
forfiles /p "%BACKUPROOT%" /m Backup_*.rar /d -10 /c "cmd /c del @path" >nul 2>&1
REM ====== KESİN ÇALIŞAN MAİL (587 port + App Password) ======
set "[email protected]"
set "[email protected]"
set "PASS=xxxx xxxx xxxx xxxx" ← BURAYA GERÇEK 16 HANELİ ŞİFRENİ YAZ
powershell -ExecutionPolicy Bypass -Command ^
"$smtp = New-Object Net.Mail.SmtpClient('smtp.gmail.com',587); ^
$smtp.EnableSsl = $true; ^
$smtp.Credentials = New-Object System.Net.NetworkCredential('%FROM%','%PASS%'); ^
$msg = New-Object Net.Mail.MailMessage('%FROM%','%TO%','SQL Yedek %FOLDERNAME%','Yedek tamamlandı - %date% %time%'); ^
try { $smtp.Send($msg); Write-Host 'Mail geldi kral' -ForegroundColor Green } catch { Write-Host 'Mail hatası' -ForegroundColor Red }"
echo.
echo === TAMAMDIR ABI ===
echo Yedek: Backup_%FOLDERNAME%.rar
echo Tarih: %date% %time%
echo Mail gonderildi.
echo.
echo 5 saniye sonra pencere kapanacak...
timeout /t 5 >nul
exit
Yukarıdaki scripti kopyalayıp not defterine yapıştırın, farklı kaydet seçeneği ile yedek.bat - tüm dosyalar olarak masaüstüne kaydedin. Yedek alınacak klasörü ve yedeği nereye alacağınızı yol olarak belirtin, kendinize göre. Winrar x64 mutlaka yüklü olsun, smtp mail adresi ve şifresini girin, kendinize göre özelleştirin. SQL Servis adınızı kontrol edin "MSSQLSERVER" değilse değiştirin. Son olarak görev zamanlayıcısından görev oluşturun, basit görev ve test edin.
ilginiz için teşekkür ederim.
