CreateMssqlBackups konsol uygulamasının arayüzlü, parametrik ve cross-platform yeni sürümü.
MSSQL, MySQL, MongoDB ve klasör (IIS) yedeklerini alır. Tüm bağlantı bilgileri ve yollar
yerel bir web arayüzünden girilir; parolalar diske şifrelenerek kaydedilir.
Arayüz dili / UI language / Язык интерфейса: Türkçe · English · Русский (sağ üstteki seçiciden; tarayıcı diline göre otomatik seçilir).
| Genel & Zamanlama | Bildirimler |
|---|---|
![]() |
![]() |
| Güvenlik | Klasör / IIS |
![]() |
![]() |
| Eski (CreateMssqlBackups) | Yeni (ServerBackupManager) |
|---|---|
| Bağlantılar/yollar koda gömülü | Hepsi web arayüzünden parametrik |
| Parolalar düz metin, kaynak kodda | AES-256-GCM ile makineye bağlı şifreli (config.json) |
| Sadece Windows | Windows / Linux / macOS (.NET 10) |
| Tek parça konsol | Arayüz + penceresiz --run (Task Scheduler/cron) |
| Sabit bekleme süreleri (kod içinde) | Modül başına ayarlanabilir bekleme + saklanacak yedek sayısı |
En kolay yol: Proje klasöründeki Arayüzü Aç.cmd dosyasına çift tıklayın (Windows).
Derlenmiş .exe varsa onu açar, yoksa kaynaktan çalıştırır; arayüz tarayıcıda açılır.
Linux/macOS'ta ./open-ui.sh kullanın.
İpucu:
Arayüzü Aç.cmddosyasına sağ tık → "Kısayol oluştur" ile masaüstüne kısayol koyabilirsiniz.
Geliştirme/deneme:
dotnet run # Web arayüzünü açar (http://127.0.0.1:5005)
dotnet run -- --run # Etkin modülleri penceresiz yedekler
dotnet run -- --help # Tüm seçeneklerKomut satırı seçenekleri:
| Komut | Açıklama |
|---|---|
| (argümansız) | Yerel web arayüzünü başlatır |
--run |
Etkin modülleri yedekler (zamanlanmış görev için) |
--run --force |
Bekleme süresini (MinIntervalHours) yok sayar |
--run --module MSSQL |
Yalnızca tek modülü çalıştırır |
--help |
Yardım |
Modül adları: MSSQL, MySQL, MongoDB, Klasör (IIS).
Hedef makinede .NET kurulu olmasını gerektirmeyen tek .exe:
# Windows
dotnet publish -c Release -r win-x64
# Linux
dotnet publish -c Release -r linux-x64
# macOS (Apple Silicon)
dotnet publish -c Release -r osx-arm64Çıktı: bin/Release/net10.0/<rid>/publish/ klasörü.
- Web arayüzü için:
publishklasörünün tamamını (exe +wwwroot) kopyalayın — arayüz statik dosyalarıwwwroot'tan sunulur. - Yalnızca zamanlanmış
--runiçin:ServerBackupManager.exetek başına yeterlidir (wwwrootgerekmez).
Kurulum (installer) gerektirmez; klasörü kopyalamak yeterlidir. .NET'in hedef makinede kurulu olması gerekmez.
Arayüzdeki ⚙️ Genel sekmesi, makineye uygun hazır komutu gösterir.
Windows (Task Scheduler):
schtasks /Create /TN "ServerBackupManager" /TR "\"C:\path\ServerBackupManager.exe\" --run" /SC DAILY /ST 03:00 /RU SYSTEM /FLinux/macOS (crontab):
0 3 * * * "/path/ServerBackupManager" --run
- Çakışan çalışma koruması: Aynı anda yalnızca bir yedekleme çalışır (
data/.run.lock). Önceki çalışma sürerken tetiklenen--runatlanır. - Çıkış kodu: Herhangi bir modül hata verirse
--run1, hepsi başarılıysa 0 döner. Böylece Task Scheduler "Son çalıştırma sonucu"nda başarısızlığı gösterir. - Bildirim (🔔 sekmesi): Yedekleme sonucunu e-posta (SMTP) ve/veya webhook (Slack/Teams/Discord/özel) ile gönderir. "Yalnızca hata olunca" veya "her çalışmada" seçilebilir. Arayüzde test düğmesi vardır.
- Log saklama:
data/logsaltındaki eski loglar, ayarlanan gün sayısından (varsayılan 30) sonra otomatik silinir. - Son yedek durumu: Genel sekmesinde her modülün en son yedek tarihi görünür.
- Tüm ayarlar çalıştırılabilir dosyanın yanındaki
data/klasöründe tutulur:config.json— ayarlar (parolalarenc:v1:...olarak şifreli)secret.key— şifreleme anahtarı (kısıtlı izinlerle, sadece makinede)logs/— her çalışmanın log dosyası
- Konum
SBM_DATA_DIRortam değişkeniyle değiştirilebilir. - Arayüz yalnızca
127.0.0.1(yerel) dinler; dışarıya açılmaz. - Parolalar arayüze asla geri gönderilmez; kayıtlıysa alan boş ama "dokunma" olarak işaretlidir.
mysqldump/mongodumpparolaları komut satırına yazılmaz; çalışma anında geçici, izinleri kısıtlı bir kimlik dosyasından okunur ve iş bitince silinir (görev yöneticisi/psile sızmaz).
Önemli:
secret.keymakineye özeldir. Ayarları başka makineye taşırken parolaları yeniden girmeniz gerekir (anahtar taşınmaz). Bu, kasıtlı bir güvenlik tercihidir.
- MSSQL: Tüm kullanıcı veritabanlarını
.bakalır.BACKUP TO DISKSQL Server'ın diskine yazdığından, uygulama SQL Server ile aynı makinede çalışmalıdır. "Çalışma klasörü" SQL'in yazacağı yerel klasör, "Hedef klasör" ise sonradan taşınacağı yerdir (örn. Drive). - MySQL / MongoDB:
mysqldump/mongodumparaçlarını kullanır. Araç klasörünü belirtin veya PATH'te ise boş bırakın. - Klasör (IIS): Kaynak klasörü (veya alt klasörlerini ayrı ayrı) zip'ler.
Her modülde bekleme süresi (saat) ve saklanacak yedek sayısı ayarlanabilir; eski yedekler otomatik temizlenir.
MIT — özgürce kullanabilir, değiştirebilir ve dağıtabilirsiniz. Yazılım "olduğu gibi" sunulur; herhangi bir garanti vermez. Yedeklerinizi düzenli olarak geri yükleme testinden geçirmek sizin sorumluluğunuzdadır.




