cronjob

Discussie in 'PC, Handheld & Algemeen' gestart door Gamersea, 15 jul 2006.

  1. Gamersea

    Gamersea Going, Going, Gone

    Berichten:
    1.792
    Leuk Bevonden:
    22
    Hallo, Ik ben bezig met een site waar scripts op draaien die als demo dienen.
    Nu wil ik dus doormiddel van cronjob iedere uur de database verwijderen en autmatisch een sql bestand weer laten uploaden zodat alle posts/users die in dat uur zijn aangemaakt weer weg zijn.
    Code:
    $sql = 'DROP TABLE `bb1_access`, `bb1_adminsessions`, `bb1_announcements`, `bb1_attachments`, `bb1_avatars`, `bb1_bbcodes`, `bb1_boards`, `bb1_events`, `bb1_folders`, `bb1_groups`, `bb1_icons`, `bb1_moderators`, `bb1_optiongroups`, `bb1_options`, `bb1_permissions`, `bb1_polloptions`, `bb1_polls`, `bb1_posts`, `bb1_privatemessage`, `bb1_profilefields`, `bb1_ranks`, `bb1_searchs`, `bb1_sessions`, `bb1_smilies`, `bb1_styles`, `bb1_subscribeboards`, `bb1_subscribethreads`, `bb1_subvariablepacks`, `bb1_subvariables`, `bb1_templatepacks`, `bb1_templates`, `bb1_threads`, `bb1_userfields`, `bb1_users`, `bb1_votes`, `bb1_wordlist`, `bb1_wordmatch`';
    Die code heb ik nu moet ik ook nog een code vinden die weer alles terug zet maar die kan ik dus niet vinden in me phpmyadmin volgens me host zou ik die moeten zien als ik het sql bestand zelf de eerste keer weer uploade.

    Weet iemand toevallig ook nog waar ik die code dus kan vinden. En waar zou ik het sql bestand dan neer moeten zetten gewoon op me server of kan ie ook op me computer blijven staan?
     
  2. Darkwing

    Darkwing Active Member

    Berichten:
    6.510
    Leuk Bevonden:
    25
    Waarom eerst je tables verwijderen om ze daarna weer aan te maken, als je ook met het DELETE commando een hele tabel kunt legen?

    Je query wordt dan:

    PHP:
    DELETE FROM bb1_access;
    DELETE FROM bb1_adminsessions;
    DELETE FROM bb1_announcements;
    Enz...
    Kan niet in één query, maar dit lijkt me echt het makkelijkst.
    Overigens zijn die backticks voor tabelnamen niet nodig hoor, kun je gerust weglaten.
     
  3. Gamersea

    Gamersea Going, Going, Gone

    Berichten:
    1.792
    Leuk Bevonden:
    22
    Ja, Maar kan je dan ook de oude bestanden automatisch laten reuploaden, Doormiddel van een .sql file?

    want:
    PHP:
    DELETE FROM bb1_access;
    DELETE FROM bb1_adminsessions;
    DELETE FROM bb1_announcements
    delete alles toch alleen? of worden ze dan geleegd oftwel alles weer zo als in het begin en zijn alle posts/members etc die in dat uur zijn aangemaakt ook weer weg...? Maar als je tables removed moet je script dan ook niet weer manual geinstalleerd worden?

    Ik begrijp overigens helemaal niks van die cronjob dus (php ook niet echt, nog niet althans).
     
    Laatst bewerkt: 15 jul 2006
  4. Jorrit

    Jorrit Server admin XBW.nl ICT

    Berichten:
    5.537
    Leuk Bevonden:
    9
    ik zou "TRUNCATE TABLE `tablename`" doen voor elke tabel, dan worden de auto_increment waarden ook weer op 1 gezet.
     
  5. Darkwing

    Darkwing Active Member

    Berichten:
    6.510
    Leuk Bevonden:
    25
    Die zocht ik :) Dat is nog beter ja. En ja, dan wordt alleen de inhoud gewist, de tabelstructuur blijft bestaan. Oftewel: je houdt een lege tabel over, en dat is precies wat je wilt lijkt me.
     
  6. Gamersea

    Gamersea Going, Going, Gone

    Berichten:
    1.792
    Leuk Bevonden:
    22
    dus dit?
    PHP:
    TRUNCATE TABLE bb1_access;
    TRUNCATE TABLE bb1_adminsessions;
    TRUNCATE TABLE bb1_announcements;
    etc etc 
    Kan ik dat gewoon invoeren als cronjob? of moet er nog een tag voor zoals <php>?
     
  7. Jorrit

    Jorrit Server admin XBW.nl ICT

    Berichten:
    5.537
    Leuk Bevonden:
    9
    #!/usr/bin/php (of waar je php staat)
    <?php
    // hier eventjes een mysql connectie maken
    mysql_query('TRUNCATE TABLE `bb1_access`, `...`, `....`');
    // hier eventueel initiele data invullen
    ?>

    en dan het resulterende bestand executable maken en in je crontab zetten.
     
  8. Gamersea

    Gamersea Going, Going, Gone

    Berichten:
    1.792
    Leuk Bevonden:
    22
    hier eventjes een mysql connectie maken
    --
    Daarmee bedoelje denk ik van:
    localhost:
    db user:
    db name:
    db pass:

    Denk ik.

    Hoe dan ook, Ik ga het proberen.
     
  9. Jorrit

    Jorrit Server admin XBW.nl ICT

    Berichten:
    5.537
    Leuk Bevonden:
    9
    PHP:
    mysql_connect('host''username''password');
    mysql_select_db('database');
     

Deel Deze Pagina