webForumDet fria alternativet

Automatiskt radera poster i DBn?

2 svar · 252 visningar · startad av Mattias

MattiasMedlem sedan mars 2000205 inlägg
#1

Hur kan man gå tillväga för att en MySQL-databas automatiskt ska radera poster vid ett visst klockslag (som finns inlagt i en viss post i DBn)? Hur svårt är det isf? Har hört talas om att det ska fungera med något som heter "crontab".

Någon som vet nåt mer om crontab och/eller hur man går tillväga?

LarsGMedlem sedan dec. 200012 464 inlägg
#2

Du kan titta på kommandot at i Unix

Att lagra tiden i databasen är ingen direkt fördel, du måste plocka upp det själv på något sätt.

spangoMedlem sedan juni 20008 205 inlägg
#3

at kör bara jobben en gång, så crontab är antagligen bättre än at :)
För att köra det behöver du ett shellkonto. Har du det kan du kika på mansidan för crontab (man crontab alltså...). Ett exempel skulle kunna vara:

# ta bort poster vid 00:00 varje dag:
0 0 * * * mysql -D databasnamn -e 'DELETE FROM tabell WHERE whentoremove < NOW()'

Lägg till den med crontab -e. Vill du ha mer komplicerade uppgifter skulle jag råda dig att lägga allt i ett shellscript som du anropar från crontab.

125 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)