Site Overlay

Günlük Otomatik FTP Yedekleme ve Eski Yedeklerin Silinmesi

Günlük Otomatik FTP Yedekleme ve Eski Yedeklerin Silinmesi FTP üzerinden otomatik yedekleme işlemlerini gerçekleştirmek ve eski yedekleri silmek için adım adım rehber. Windows PowerShell ve WinSCP kullanarak günlük otomatik yedekleme scripti oluşturma ve Görev Zamanlayıcı ile bu scripti planlama yöntemleri.

Giriş

Web sitenizi güvence altına almak için düzenli yedekleme yapmak çok önemlidir. Bu makalede, WordPress sitenizin dosyalarını ve veritabanını günlük olarak otomatik yedeklemenin ve eski yedekleri silmenin nasıl yapılacağını adım adım öğreneceksiniz. PowerShell ve WinSCP kullanarak FTP yedekleme scripti oluşturacağız ve Görev Zamanlayıcı ile bu scripti otomatik hale getireceğiz.

Adım 1: WinSCP’yi İndirme ve Yükleme

  1. WinSCP’yi indirin ve bilgisayarınıza yükleyin.
  2. WinSCP’yi yükledikten sonra PowerShell üzerinden erişilebilmesi için gereken modülü ekleyin.

Adım 2: Execution Policy Ayarlaması (Opsiyonel)

PowerShell’de script çalıştırma izinlerini ayarlamak için aşağıdaki komutu çalıştırın:

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

Bu komut, PowerShell’in indirdiğiniz scriptleri çalıştırmasına izin verir.

Adım 3: WinSCP PowerShell Modülünü Yüklemek

PowerShell’de WinSCP’yi kullanmak için WinSCP PowerShell modülünü yükleyin:

Install-Module -Name WinSCP -Force

Adım 4: WinSCP .NET Assembly’i PowerShell’e Eklemek

PowerShell’de WinSCP’yi kullanmak için WinSCP .NET assembly’yi yükleyin:

# WinSCP .NET Assembly'i indir ve PowerShell'e ekle
$scriptUrl = "https://winscp.net/download/WinSCP-5.19.6-Automation.zip"
$outputPath = "C:\Temp\WinSCP.zip"
$extractPath = "C:\Temp\WinSCP"

Invoke-WebRequest -Uri $scriptUrl -OutFile $outputPath
Expand-Archive -Path $outputPath -DestinationPath $extractPath

Add-Type -Path "$extractPath\WinSCPnet.dll"

Adım 5: Yedekleme Scriptini Oluşturma

Aşağıdaki PowerShell scripti, FTP sunucunuzdaki dosyaları belirttiğiniz bir yerel klasöre indirir ve 3 günden eski yedekleri otomatik olarak siler.

# FTP'den dosya indirme işlemi için PowerShell scripti

# WinSCP .NET Assembly'i yükleme
Add-Type -Path "C:\Temp\WinSCP\WinSCPnet.dll"

# FTP bilgileri
$ftpServer = "100.100.1.100"  # FTP sunucu IP adresini buraya girin
$ftpUsername = "[email protected]"  # FTP kullanıcı adını buraya girin
$ftpPassword = "3Fa2.!453de"  # FTP şifresini buraya girin
$localBasePath = "D:\www"  # Dosyaların indirileceği yerel baz dizin

# Tarih ve saat bilgisi ile yeni bir klasör oluşturma
$date = Get-Date -Format "yyyy-MM-dd_HH-mm-ss"
$localPath = Join-Path -Path $localBasePath -ChildPath $date
New-Item -ItemType Directory -Path $localPath

try {
    # FTP bağlantısı oluşturma
    $ftpSession = New-Object WinSCP.Session

    $ftpSessionOptions = New-Object WinSCP.SessionOptions -Property @{
        Protocol = [WinSCP.Protocol]::Ftp
        HostName = $ftpServer
        UserName = $ftpUsername
        Password = $ftpPassword
    }

    # FTP sunucusuna bağlanma
    $ftpSession.Open($ftpSessionOptions)

    # İndirme işlemi
    $transferOptions = New-Object WinSCP.TransferOptions
    $transferOptions.TransferMode = [WinSCP.TransferMode]::Binary

    # İndirilecek dizini belirtin, örneğin /public_html
    $remotePath = "/public_html"
    $transferResult = $ftpSession.GetFiles($remotePath, $localPath, $False, $transferOptions)
    $transferResult.Check()

    Write-Output "Dosyalar başarıyla indirildi."
}
finally {
    # FTP bağlantısını kapatma
    $ftpSession.Dispose()
}

# 3 gün ve daha eski yedekleri silme
$daysToKeep = 3
$threshold = (Get-Date).AddDays(-$daysToKeep)

Get-ChildItem -Path $localBasePath -Directory | Where-Object { $_.CreationTime -lt $threshold } | Remove-Item -Recurse -Force
Write-Output "3 günden eski yedekler silindi."

Adım 6: Görev Zamanlayıcı ile Script’i Otomatikleştirme

  1. Görev Zamanlayıcısı’nı Açın:
    • Windows arama çubuğuna “Görev Zamanlayıcısı” yazarak açın.
  2. Yeni Görev Oluşturma:
    • Sağ panelde “Görev Oluştur…” seçeneğine tıklayın.
  3. Genel Ayarlar:
    • Göreve bir ad verin, örneğin “FTP Yedekleme”.
    • “Güvenlik Seçenekleri” bölümünde, görevi çalıştırmak için yönetici haklarına sahip bir kullanıcı seçin.
  4. Tetikleyici Oluşturma:
    • “Tetikleyiciler” sekmesine gidin ve “Yeni…” butonuna tıklayın.
    • “Günlük” seçeneğini işaretleyin ve saati belirleyin: 03:00.
  5. Eylem Oluşturma:
    • “Eylemler” sekmesine gidin ve “Yeni…” butonuna tıklayın.
    • “Program/script” kutusuna powershell yazın.
    • “Argümanlar ekle (isteğe bağlı)” kutusuna aşağıdaki argümanları yazın:
-File "D:\Script\ftp_download.ps1"
  1. Koşullar ve Ayarlar:
    • “Koşullar” sekmesinde, gerekli ayarları yapın (örneğin, sadece bilgisayar AC gücüne bağlı olduğunda çalıştır).
    • “Ayarlar” sekmesinde, görevin zamanında çalıştırılmasını sağlamak için gerekli ayarları yapın.
  2. Görevi Kaydetme:
    • “Tamam” butonuna tıklayarak görevi kaydedin ve çıkın.

Sonuç

Bu makalede, WordPress sitenizin dosyalarını ve veritabanını FTP üzerinden otomatik olarak yedeklemenin ve eski yedekleri silmenin adımlarını öğrendiniz. Bu yöntemi kullanarak sitenizin güvenliğini artırabilir ve veri kaybı riskini en aza indirebilirsiniz.

Bu adımları izleyerek, WordPress sitenizin dosyalarını ve veritabanını otomatik olarak yedekleyebilir ve eski yedekleri güvenle silebilirsiniz. Eğer bu konuda daha fazla sorunuz olursa, yorumlarda belirtmeyi unutmayın!

Ekstra İpuçları

  • Yedekleme scriptinizi düzenli olarak test edin.
  • Yedeklerinizi güvenli bir yerde saklayın.
  • FTP erişim bilgilerinizi güvenli bir şekilde yönetin.

Anahtar Kelimeler:

  • FTP yedekleme
  • Otomatik yedekleme
  • Windows PowerShell
  • WinSCP
  • Görev Zamanlayıcı
  • Yedekleme scripti
  • WordPress site yedekleme
  • Otomatik yedekleme scripti

Arif Akyüz Sistem Network Yöneticisi ve Siber Güvenlik Uzmanı
Arif Akyüz Sistem Network Yöneticisi ve Siber Güvenlik Uzmanı

Arif Akyüz
Bilgi Teknolojileri
Sistem Network Yöneticisi
ve Siber Güvenlik Uzmanı
[email protected]

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
© 2024 Arif Akyüz. Tüm Hakları Saklıdır. Gizlilik politikası
Yasal Uyarı: Bu sitede yer alan makaleler bilgi amaçlıdır ve hatalar içerebilir. Site sahibi, bu bilgilerin kullanımı sonucunda oluşabilecek zararlardan sorumlu tutulamaz.