• 07-12-2018, 17:10:31
    #1
    Merhaba;

    Başlıktan'da belirttiğim gibi.

    Benim bir oyunum var freebsd 11.2 + mysql 5.5 kullanımı yapıyor.

    SSL kullanarak yada crontab vs kullanılarak bir işlem yapılabilir mi diye sormak için bu konuyu açıyorum.

    Mysql içerisinde atıyorum player isimli bir tablo'nun içerisinde yer alan combat diye bir sql dosyası var.

    Ben bu sql dosyası içinden ismi dataget olan bir sql kaydına ait count ismiyle yer alan bütün logları zaman ayarlı olarak silmek istiyorum.

    Örneğin saatte bir kez yada 24 saatte bir kez bu sorguları silsin istiyorum.

    Bunu nasıl yapabilirim?

    Pek detaylı anlatamamış olabilirim ama işi bilen kişilerin muhakkak anlayacağını düşünüyorum.

    iyi çalışmalar.
    http://www.programyoneticisi.com - http://www.forumadsense.com
  • 07-12-2018, 17:19:35
    #2
    Selam,

    Örnek SQL kodu (24 saatte bir siler)
    DELETE FROM on_search WHERE search_date < NOW() - INTERVAL 1 DAY
    Kodu daha iyi anlayabilmeniz için veritabanı örneği
    search_id   search_term    search_date 
    660779      car games      1390052553
    Bu şekilde bir kod tablonun üzerine kayıt edilmiş verileri 24 saatte bir silmektedir. Bunu Bash script haline alt kısımda ki gibi getirebilirsiniz.

    #!/bin/bash
    mysql -u root -psecret <<MY_QUERY
    DELETE FROM on_search WHERE search_date < NOW() - INTERVAL 1 DAY;
    MY_QUERY
    "-psecret" yazan yere Veritabanı şifrenizi girmeniz gerekmektedir.


    Bu bash scripti oluşturduktan ve kendinize göre düzenledikten sonra oluşturduğunuz bash scripti 8 saatte çalışacak şekilde Crontab'a eklemeniz yeterlidir.
    Hosting Solutions - DDoS Protection - Dedicated Server - License Solutions
  • 11-12-2018, 00:21:16
    #3
    MegaMakale adlı üyeden alıntı
    Selam,

    Örnek SQL kodu (24 saatte bir siler)
    DELETE FROM on_search WHERE search_date < NOW() - INTERVAL 1 DAY
    Kodu daha iyi anlayabilmeniz için veritabanı örneği
    search_id   search_term    search_date 
    660779      car games      1390052553
    Bu şekilde bir kod tablonun üzerine kayıt edilmiş verileri 24 saatte bir silmektedir. Bunu Bash script haline alt kısımda ki gibi getirebilirsiniz.

    #!/bin/bash
    mysql -u root -psecret <<MY_QUERY
    DELETE FROM on_search WHERE search_date < NOW() - INTERVAL 1 DAY;
    MY_QUERY
    "-psecret" yazan yere Veritabanı şifrenizi girmeniz gerekmektedir.


    Bu bash scripti oluşturduktan ve kendinize göre düzenledikten sonra oluşturduğunuz bash scripti 8 saatte çalışacak şekilde Crontab'a eklemeniz yeterlidir.
    Cevabın için teşekkür ederim fakat anlatımın çok karışık genede.
    Ben anlayamadım tam olarak ne yapacağımı.

    Crontab'a ekleyeceğin kodlar demişsin ama oraya eklediğimde kodlar dahi hatalı gözüküyor.

    Benim yazdığım konuya göre bir shell yazarsanız çok sevinirim.

    ++++
    http://www.programyoneticisi.com - http://www.forumadsense.com