[RESOLU] Supprimer automatiquement lignes base mysql à partir d'une date donnée

Eléphant du PHP | 172 Messages

09 nov. 2015, 14:09

Bonjour :D

Alors voilà mon petit problème pour qui aura la solution, car moi je n'ai pas trouvé grrrrrrrrr

J'aimerai bien supprimer automatiquement les anciens fichiers logs vieux de plus de 12 mois.

avec le script suivant pas de problème sinon qu'il me faut modifier à chaque fois la date et transférer sur site
$sql2 = " DELETE FROM `dsb_site_log` WHERE `time`  < '2014-11-09 00:00:00.000000' ";   //  suppression de tout avant la date
Par avance merci

Mammouth du PHP | 1029 Messages

09 nov. 2015, 16:51

Simplement par 'cron' !
L'expérience est la somme de toutes nos erreurs.

Mammouth du PHP | 2703 Messages

09 nov. 2015, 17:20

un truc du genre :
where TO_SECONDS(time) < (TO_SECONDS(now()) - (365 * 24 * 3600))

Eléphant du PHP | 172 Messages

09 nov. 2015, 18:54

salut or 1 :wink:

çà a l'air de fonctionner, j'ai importé log sur deux ans et après installation script je me suis mis en mode admin et j'ai pu observer que toutes les lignes avant dimanche 09/11/2014 avaient disparu de la base.

je mets en résolu demain si tout roule (log -1j) mais j'y crois :D
$sql2 = " DELETE FROM `dsb_site_log`  where TO_SECONDS(time) < (TO_SECONDS(now()) - (365 * 24 * 3600)) ";

Maitrepylos il ne mais pas nécessaire de mettre la tâche en cron, merci du conseil quand même

Eléphant du PHP | 172 Messages

10 nov. 2015, 10:49

=D> ça roule, encore merci