Likes Likes:  0
Resultaten 1 tot 7 van de 7
Geen

Onderwerp: Bash hulp gezocht

  1. #1
    Bash hulp gezocht
    geregistreerd gebruiker
    31 Berichten
    Ingeschreven
    20/10/04

    Locatie
    Rotterdam

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: ja
    KvK nummer: 24325436
    Ondernemingsnummer: nvt

    Thread Starter

    Bash hulp gezocht

    Er ziet hier vast een Bash guru... Wie het weet mag het zeggen!

    Ik heb een cron aan staan voor de httpd user. Het doel is om een dir te legen waar door gebruikers regelmatig 'rotzooi' wordt geupped. Natuurlijk weer niet alles, maar alles ouder dan 2 uur. Gaat allemaal via een webserver post, de eigenaar van de bestanden is dan ook de httpd user.


    Dit is de cron:

    SHELL=/bin/bash
    MAILTO=root
    0 10 * * * /home/httpd/bin/clean_temp_dir_script

    Dit het script:

    #!/bin/bash
    /bin/rm -f `find /home/httpd/rotzooi/ -atime +2` > /dev/null 2>&1

    Alles leuk en wel, het werkt, als ik het uitvoer als root...

    De cron geeft echter een mailtje terug met de melding:
    find: cannot get current directory: Permission denied


    En dat snap ik niet.....
    Ik wil helemaal niks van de huidige dir... Ik wil iets van die tempdir. de httpd user heeft de hele weg naar /home/httpd/rotzooi/ de goeie rechten (eigenaar en minimaal 600)

    Wie weet raad?

  2. #2
    Bash hulp gezocht
    geregistreerd gebruiker
    241 Berichten
    Ingeschreven
    24/06/03

    Locatie
    Amsterdam

    Post Thanks / Like
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: Ja
    KvK nummer: BV, 30141839
    Ondernemingsnummer: nvt

    Ik snap de foutmelding ook niet.

    Wat gebeurt er als je hetvolgende gebruikt?
    ---BEGIN---
    FIND=`which find`
    XARGS=`which xargs`
    $FIND /home/httpd/rotzooi/ -atime +2 -print0 | $XARGS -0 rm -f
    --- END ---

    Ik zou niet naar /dev/null pijpen, de -f switch zorgt al dat je geen output krijgt.
    mocht er toch output zijn is er iets mis, en zou je moeten nakijken.

    de -print0 en -0 zorgen dat filenamen met spaties en andere "vreemde" tekens meegenomen worden.
    Laatst gewijzigd door LeaseWeb; 26/10/04 om 02:39.

  3. #3
    Bash hulp gezocht
    geregistreerd gebruiker
    259 Berichten
    Ingeschreven
    29/07/04

    Locatie
    Drechtsteden

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: -
    KvK nummer: nvt
    Ondernemingsnummer: nvt

    Voordat je dit daadwerkelijk in je cron zou ik het eerst proberen met een non-intrusive commando zoals 'ls'. Je wilt niet dit dit per ongeluk in de verkeerde directory gebeurt.

    Aloha,

    Martin

  4. #4
    Bash hulp gezocht
    Solaris Sys*****
    1.364 Berichten
    Ingeschreven
    04/12/03

    Locatie
    Leiden

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: Nee
    KvK nummer: 28071088
    Ondernemingsnummer: NVT

    Wat je ook gewoon kan uitvoeren via cron:

    Code:
    find /pad/naar/directory -atime +2 -exec rm -f {} \;

  5. #5
    Bash hulp gezocht
    geregistreerd gebruiker
    241 Berichten
    Ingeschreven
    24/06/03

    Locatie
    Amsterdam

    Post Thanks / Like
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: Ja
    KvK nummer: BV, 30141839
    Ondernemingsnummer: nvt

    Origineel geplaatst door royen99
    Wat je ook gewoon kan uitvoeren via cron:

    Code:
    find /pad/naar/directory -atime +2 -exec rm -f {} \;
    Kan idd ook.

    Maar xargs is efficienter dan -exec.
    -exec zal voor elke regel die find vindt een nieuw rm proces starten.

  6. #6
    Bash hulp gezocht
    geregistreerd gebruiker
    31 Berichten
    Ingeschreven
    20/10/04

    Locatie
    Rotterdam

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: ja
    KvK nummer: 24325436
    Ondernemingsnummer: nvt

    Thread Starter
    Tnx guys..

    Alles getest volgens jullie aanwijzingen, maar het werkte niet. Het lag dus niet aan de manier waarop find werd aangesproken.. En opeens gaat er dan een lichtje branden... de httpd user heeft helemaal geen home dir en zal dus wel op de / beginnen of helemaal nergens(?)...
    Dus een HOME var zetten, en klaar is kees.

    Oplossing.. :
    Cron aan passen.
    -----
    HOME=/home/httpd
    -----

    Nogmaals, bedankt voor de moeite.

    @royen99 : In dit script zitten nog meer functies, die ik hier niet heb laten zien, vandaar dat ik een script aanroep en niet rechtstreeks in de cron zet. Even goed, bedankt voor de moeite.

  7. #7
    Bash hulp gezocht
    geregistreerd gebruiker
    31 Berichten
    Ingeschreven
    20/10/04

    Locatie
    Rotterdam

    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    0 Berichten zijn liked


    Registrar SIDN: ja
    KvK nummer: 24325436
    Ondernemingsnummer: nvt

    Thread Starter
    uhh nog een laaste aanvulling,.

    de httpd user heeft als home /dev/null in /etc/passwd... Dat verklaart een hoop.

Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics