Thema geschlossen
Ergebnis 1 bis 5 von 5

Thema: (Gelöst) automatisches Löschen mit cron

  1. #1
    Newbie Avatar von c.j.klein
    Registriert seit
    15.01.2007
    Ort
    NRW
    Beiträge
    9

    Standard (Gelöst) automatisches Löschen mit cron

    Hallo liebe Forenmitglieder,

    nachdem mein PDC sauber läuft und ich eine ordentliche Funktion auch für Mail und Internet gefunden habe, möchte ich mein aktuelles Problem vorstellen.

    Ich habe für alle User einen öffentlichen Transferordner,
    Code:
    /srv/transfer
    
    der - wie der Name schon sagt, für den Austausch von Datein gedacht ist. Nun sind viele von uns, ich eingeschlossen häufig zu faul, vergesslich, mit wichtigeren Dingen beschäftigt um die Dateien dort auch wieder zu löschen. Dafür gibt es ja cron!
    Cron - Wikipedia
    cron-Index
    Newbie-Net Cron

    Also fix die cron-tab bearbeiten, ein script (finden sich ja auch diverse im Netz) geschrieben UND..... es tut nicht.

    Daher stelle ich hier mal meine cron-tab und mein script ein und hoffe, dass der Fehler schnell zu beheben ist. Vorab meine Frage, welche Dateiendung sollte/kann mein script haben, oder woran muss ich sonst denken?

    crontab
    Code:
    # /etc/crontab: system-wide crontab
    # Unlike any other crontab you don't have to run the `crontab'
    # command to install the new version when you edit this file.
    # This file also has a username field, that none of the other crontabs do.
    
    SHELL=/bin/sh
    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
    
    "# m h dom mon dow user	command"
    "17 *	* * *	root    run-parts --report /etc/cron.hourly"
    "25 6	* * *	root	test -x /usr/sbin/anacron || run-parts --report /etc/cron.daily"
    # hier wird täglich um 3:15 der Ordner transfer überprüft und Dateien, die älter sind als 10 Tage gelöscht.
    3  15   * * *   root    /etc/cron.daily/transit-clean     
    "47 6	* * 7	root	test -x /usr/sbin/anacron || run-parts --report /etc/cron.weekly"
    "52 6	1 * *	root	test -x /usr/sbin/anacron || run-parts --report /etc/cron.monthly"
    #
    
    und mein script
    transit-clean
    Code:
    # !/bin/bash
    # Dateien aus dem Transfer-Ordner löschen, wenn sie älter als 10 Tage sind.
       
       for FILE in $ (find /srv/transfer -type f -ctime +10)
       do
           rm -f $FILE
       done
    
    Ich danke schon mal für Eure hilfreichen Tipps.

    mfg
    Christian
    bisher erreicht:
    PDC für WinXP PC's
    Samba-fileserver[LIST][*]gemeinsame Daten[*]eigene Daten - geschützt pro User[*]Transferordner - Daten älter als 10 Tage werden automatisch gelöscht[*]Thunderbird - mails, Konten, etc - Wörterbuch haut noch nicht hin[*]Firefox - Themes, Passwörter, Historie, Formulardaten[/LIST]Jetzt soll gedruckt werden!
    nutze den debian CT' server auf PII

  2. #2
    Lehrling
    Registriert seit
    08.08.2006
    Beiträge
    226

    Beitrag AW: automatisches Löschen mit cron

    1.
    Code:
    3  15   * * *   root    /etc/cron.daily/transit-clean
    
    Der Eintrag ist überflüssig.
    Wenn das Script bereits unter /etc/cron.daily liegt, wird es automatisch täglich ausgeführt.

    2. Ist das Script ausführbar (x-bit gesetzt)?

    3. Syntaxfehler: Leerzeichen zwischen for FILE in $ und (find /srv/transfer -type f -ctime +10)
    =>
    Code:
    for FILE in $(.....);
      do something;
    done;
    
    4. Obwohl in der crontab die Pfade gesetzt sind, gleich angewöhnen in Scripten immer mit absoluten Pfaden zu arbeiten.
    =>
    Code:
    /usr/bin/find
    /bin/rm
    
    oder
    Code:
    FIND=`which find 2> /dev/null`;
    RM=`which rm 2> /dev/null`;
    
    $FIND /srv/transfer -type f -ctime +10;
    ...
    $RM $FILE;
    
    5.Wozu die for-Schleife?
    => Die exec-Option von find benutzen:
    Code:
    #!/bin/bash
    
    find /srv/transfer -type f -ctime +10 -exec rm {} \;
    
    Gruß b3ll3roph0n
    --
    Denken hilft !

    Für alle meine Beiträge gelten, außer bei Zitaten, die Creative Commons.

  3. #3
    Newbie Avatar von c.j.klein
    Registriert seit
    15.01.2007
    Ort
    NRW
    Beiträge
    9

    Standard AW: automatisches Löschen mit cron

    Hallo b3ll3roph0n

    danke für die Hilfestellung, der "x"-bit war nicht gesetzt.
    Mal sehen, ob morgen alles aufgeräumt ist.

    Werde dann natürlich hier berichten.

    mfg
    Christian
    bisher erreicht:
    PDC für WinXP PC's
    Samba-fileserver[LIST][*]gemeinsame Daten[*]eigene Daten - geschützt pro User[*]Transferordner - Daten älter als 10 Tage werden automatisch gelöscht[*]Thunderbird - mails, Konten, etc - Wörterbuch haut noch nicht hin[*]Firefox - Themes, Passwörter, Historie, Formulardaten[/LIST]Jetzt soll gedruckt werden!
    nutze den debian CT' server auf PII

  4. #4
    Newbie Avatar von c.j.klein
    Registriert seit
    15.01.2007
    Ort
    NRW
    Beiträge
    9

    Daumen hoch AW: automatisches Löschen mit cron

    Supi, es tut!

    Neben dem kleinen Fehler und dem trippleS Vorschlag (short, stupid and simple) hat mir vor allem der Hinweis geholfen, die Datei AUSFÜHRBAR zu machen.

    Hier für alle nochmal mein aktuelles script

    transit-clean
    Code:
    # !/bin/bash
    # Dateien aus dem Transfer-Ordner löschen, wenn sie älter als 10 Tage sind.
    
       find /srv/transfer -type f -ctime +10 -exec rm {} \;
    
    Danke nochmal für die fixe Lösung.

    und auf zum nächsten Thema...

    mfg
    Christian
    bisher erreicht:
    PDC für WinXP PC's
    Samba-fileserver[LIST][*]gemeinsame Daten[*]eigene Daten - geschützt pro User[*]Transferordner - Daten älter als 10 Tage werden automatisch gelöscht[*]Thunderbird - mails, Konten, etc - Wörterbuch haut noch nicht hin[*]Firefox - Themes, Passwörter, Historie, Formulardaten[/LIST]Jetzt soll gedruckt werden!
    nutze den debian CT' server auf PII

  5. #5
    Administrator Avatar von Kernelman
    Registriert seit
    14.03.2006
    Ort
    88214 Ravensburg
    Beiträge
    601

    Standard AW: automatisches Löschen mit cron

    Dann mache ich hier das Licht aus.


    Gruß

    KM


    ==> CLOSED
    Lesen gefährdet die Dummheit!

    openSUSE 11.3-64Bit 2.6.34.7-0.7-desktop KDE 4.4.4

    "Linux is user-friendly, it's just a little picky, who his friends really are"

    My Jabber: Mein_Nickname hier(at)jabber.ccc.de

Thema geschlossen

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87