• User

    Script per restart automatico apache e mysql ogni tot ore

    Salve a tutti. Ho un altro piccolo problemino mannaggia:x. Praticamente il mio vps ha 512 MB di ram. Ho due siti creati con wordpress che girano su questo vps. Il problema è che ogni tanto quando accumulo traffico il vps mi swappa a 512 e poi il sito va down perchè arrivano troppe richieste ....credo. Quindi mi servirebbe di avere uno script per debian che mi restarterebbe (faccio un esempio) apache e mysql ogni ora. Ho cercato guide ma non ho compreso bene i passaggi. Qualcuno può aiutarmi? Grazie in anticipo ovviamente.


  • Moderatore

    512 MB e 2 blog e il vps va in swap? Non è che c'è qualcosa di tremendamente fatto male nel cms che usi?

    Non è una soluzione quella di riavviare il web server, piuttosto dovresti cercare di capire se ci sono dei memory leak da qualche parte, oppure se proprio è un problema di traffico, allora devi passare a qualcosa di più grande.


  • User

    Io paolino ho notato che quando faccio molte richieste sui due siti (mentre magari modifico qualcosa e ci lavoro su) lo swap sale di colpo. E ho notato anche che in alcuni giorni quando ho avuto un po di visite apache e mysql andavano down. Ora come ora non ho disponibilita per vps più grossi anche perche il primo sito e da poco online e ancora non ho introiti perche non faccio nessuna pubblicità, mentre il secondo e praticamente nuovo di zecca....è online da 3 gg. Quindi devo cercare di aggirare il problema con qualche script che restartandomi in automatico (per esempio) ogni ora i due "demoni" evita che vadano in crash e fa sì che i siti siano sempre raggiungibili. Ho letto sul web che qualcosa esiste anche se non ho capito bene i passaggi e volevo comunque un' opinione da parte di chi magari ne capisce più di me visto che del mondo linux non faccio parte da tanto tempo. Se puoi indicarmi anche un linkettino di una buona guida, abbastanza sicura ovviamente, sarei felice di darci uno sguardo. O se hai un suggerimento tuo,riguardo a degli script !bin bash, mi farebbe comunque piacere valutarlo 🙂 .


  • Moderatore

  • User

    Avevo già trovato lo sciprt da te indicato paolino. Però quello script restarta apache2 solo se è down quindi se non trova il pid httpd. A me serve uno script dove posso settare il restart ogni ora sia di apache sia di mysql. Ne conosci qualcuno? Io ho trovato questo:
    Script: Auto restart Apache when high-load
    Script check load average, work 5 minutes/time, auto restart apache if load > 10. Tested fine on Centos, Debian
    I am usually for vps to protect high load.

    1: Create check file:
    cd /usr/local/
    mkdir auto
    cd auto
    nano -w restart.sh

    Paste script:

    #!/bin/sh
    check=cat /proc/loadavg | sed 's/\./ /' | awk '{print $1}'
    if [ $check -gt 10 ] //10 is load average on 5 minutes
    then
    /etc/init.d/httpd restart
    fi

    Save and chmod script to 755:

    chmod 755 restart.sh
    *
    2: Create cron file:
    *
    cd ~
    cd /etc/cron.d
    nano -w auto_restart

    Paste script:
    *
    /5 * * * * root /usr/local/auto/restart.sh >/dev/null 2>&1

    Save cron file and finish.

    Che ne pensi?


  • Moderatore

    Non fai prima ad aggiungere un cron job che parte ogni 10 minuti e dà il comando "apache2ctl restart"?


  • User

    non so compilare la stringa della quale parli paolino 😄

    Comunque quello script non funziona xche stamane i siti sono di nuovo down e il server non accetta ancora connessione tramite ssh. quindi credo di dover riavviare il vps da pannello di controllo che @@@@@. Quindi se non ti chiedo troppo se hai una buona stringa funzionante se me la suggerisci non mi dispiacerebbe 🙂 😄


  • Moderatore

    non mi pare così assurda la sintassi di cron

    
    */10 * * * * apache2ctl restart >/dev/null 2>&1
    
    

    quel root non c'entrava un tubo


  • User Attivo

    Per Debian il comando per riavviare apache è
    /etc/init.d/apache2 restart
    Hai installato almeno un plug-in che fa da cache? Hai disabilitato innodb?