• 04-12-2008, 00:17:23
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    1.5 sene önce yazmıştım en basitinden birşeydi. Askere gittikten sonra gözüm arkada kalmadı en azından

    ---

    Bir klasörde her gün için ayrı yedek alma fikrim vardı uzun zamandır.
    2007-05-17_yedek.sql
    2007-05-16_yedek.sql
    2007-05-15_yedek.sql
    şeklinde yedek almak ve sitelerimde oluşacak herhangi bir problemde istediğim güne ait yedeğe geri dönmek istiyorum.
    Bunun için öncelikle root yetkilerine sahip olmanız gereklidir. Sistemimize ssh ile login olduktan sonra öncelikle boş bir sh dosyası yaratıyoruz.
    touch yedek.sh
    Ardından dosyaya çalışması için izin veriyoruz
    chmod +x yedek.sh
    Sonra bu dosyayı pico veya vi gibi bir editörle açıyoruz
    pico yedek.sh
    İçerisine aşağıdaki kodları kendinize göre özelleştirerek yazıyoruz
    #/usr/bin/!
    tarih=$(date +%F)
    sqldosyasi=($tarih"_yedek.sql")
    mysqldump -u kullanici -psifre veritabani > /home/osman/public_html/yedek/"$sqldosyasi"
    Bir bash scriptinde ilk satırımız mutlaka olmalıdır. İkinci satırımızda tarih değişkenini belirliyoruz. Üçüncü satırda dosya adı değişkenini belirledikten sonra son satırda MySQL veritabanı yedeği komutunu veriyoruz.
    “kullanici” yazan kısıma veritabanı kullanıcı adımızı, “sifre” yazan kısıma veritabanı şifremizi, “veritabani” yazan kısıma veritabanı adımızı, “/home/osman/public_html/yedek/” kısmına yedek aldırmak istediğimiz klasörü yazıyoruz. Ve dosyayı kaydedip çıkıyoruz.
    Son olarak pico ile /etc/crontab dosyasını açıyoruz ve içerisine şu satırı ekliyoruz :
    * 5 * * * /home/osman/yedek.sh
    Bu zamanlanmış görev satırı, görevi her gün saat 5.00′da çalıştırılmak üzere ayarlamaktadır.. “/home/osman/yedek.sh” kısmına yedek dosyamızı kaydettiğimiz dosya yolunu yazıyoruz..


    Ni-Osman
    El atıverde geliştiriver şekerim
  • 04-12-2008, 01:13:12
    #2
    süper, birde maile gönderse harika olur
  • 16-12-2008, 17:22:35
    #3
    Bir zamanlar benim üzerinde debelendiğim konuya benziyor

    Ben mysql yedeği almaktansa /var/lib/mysql/db şeklindeki dosyaları yedekliyordum. Yılan hikayesine döndü yan yattı çamura battı. Askıda bekliyor.
  • 04-01-2009, 20:02:14
    #4
    Paylaşım için teşekkürler ayrıca sormak istediğim şey şudur;
    cron ile tanımlayacağımız ve klasördeki oluşan dosyalardan örneğin 5 gün önce oluşturulanı silmek için dosya silme komuyu ne olmalıdır.
  • 05-02-2009, 00:24:44
    #5
    cd /backup/www
    SAYI=`ls -1 we* | wc -l`
    if [ $SAYI -gt "3" ]; then
    SILINECEK=`ls -1 we* | head -1`
    rm -f $SILINECEK
    fi

    Yukarıdaki kod ile we* ile başlayan dosyaları listeleyip, bu kayıtların 3'den büyük ilk kayıdını silebilirsin. Kodu ihtiyaçlarına göre revize edeceğini düşünüyorum.

    --
    Webizm Interactive