Creek2k3 Geschrieben 22. August 2008 Geschrieben 22. August 2008 Moin. Ich möchte auf einen File Server einen CronTab anlegen, der einmal in der Woche (Donnerstag um 05:00) den Inhalt eines Ordners löscht... Hatte schonmal mit google Hilfe einen Crontab gebaut, der Daten innerhalb eines Ordner nach 15 Tagen immer löscht... find /data/data -type f -mtime +15 -exec rm {} \; nur wie leg ich den CronJob Befehl so an das der wie gesagt donnerstags um 5 uhr im ordner die daten löscht... bin in dem shell scripting jetzt nicht ganz so das genie...
lordy Geschrieben 22. August 2008 Geschrieben 22. August 2008 crontab -e 0 5 * * 4 <Kommando> Mehr Details gibts in man 5 crontab
ivanhoe Geschrieben 22. August 2008 Geschrieben 22. August 2008 'crontab -e' legt afaik nur für den benutzer den cronjob an, mit dem man den befehl ausführt. Wenn es immer gestartet werden soll (egal welcher benutzer sich anmeldet), muss es manuell in der '/etc/crontab' eingetragen werden.
michaelmeier Geschrieben 22. August 2008 Geschrieben 22. August 2008 das sit völlig unabhängig davon, ob der user angemeldet ist oder nicht. hier wird in einem bestimmten benutzerkontext ein crontab-eintrag erzeugt - dieser wird grundsätzlich zur angegebenen zeit ausgeführt, unabhängig davon, was der user treibt. wobei: wenn der user gelöscht wird - geht dann eigentlich auch seine crontab flöten? wahrscheinlich ja - aber ich hab's noch nie ausprobiert.
Forcid Geschrieben 22. August 2008 Geschrieben 22. August 2008 Das Script sollte natürlich auch die entsprechenden Rechte haben. Also der User, unter dem der Cronjob laufen soll, muss das Script auch ausführen können.
carmann Geschrieben 29. August 2008 Geschrieben 29. August 2008 Das Script sollte natürlich auch die entsprechenden Rechte haben. Also der User, unter dem der Cronjob laufen soll, muss das Script auch ausführen können. Das Script sollte folgende Berechtigung haben. Dann sollte es jeder ausführen können. rw-rw-rwx 1024 24 Jul <Scriptname> Aber grundsätzlich ist es richtig, dass es in der crontab des Users stehen sollte, dem auch die zu verarbeitenden Daten gehören. Andernfalls wird zwar das Script ausgeführt aber die Ordner/Dateien können mangels der Berechtigung nicht gelöscht werden.
lordy Geschrieben 29. August 2008 Geschrieben 29. August 2008 Das Script sollte folgende Berechtigung haben. Dann sollte es jeder ausführen können. rw-rw-rwx 1024 24 Jul <Scriptname> Gehts noch ? Ein Script, das per Cron aufgerufen wird (wohlmöglich noch von root) und WORLD-WRITEABLE ist ?! :upps
@@@ Geschrieben 29. August 2008 Geschrieben 29. August 2008 Gehts noch ? Ein Script, das per Cron aufgerufen wird (wohlmöglich noch von root) und WORLD-WRITEABLE ist ?! :upps klassischer Anfängerfehler
geloescht_JesterDay Geschrieben 29. August 2008 Geschrieben 29. August 2008 klassischer Anfängerfehler Gerade wenn es um Webserver und Skripte geht ist das kein Anfängerfehler, sondern das was du meistens als erstes in einer Antwort bei Problemen findest. "777 ist doch kein Fehler, weil dann kann ja auf jeden Fall der User zugreifen!?"
@@@ Geschrieben 30. August 2008 Geschrieben 30. August 2008 Gerade wenn es um Webserver und Skripte geht ist das kein Anfängerfehler, sondern das was du meistens als erstes in einer Antwort bei Problemen findest. "777 ist doch kein Fehler, weil dann kann ja auf jeden Fall der User zugreifen!?" Für einen Zugriff reichen aber Leserechte (und Ausführungsrechte) völlig aus. Wenn ein Cronscript mit root Rechten ausgeführt wird und auch noch für jeden schreibar ist kann praktisch jeder User beliebig viele Befehle mit Root rechten ausführen....
geloescht_JesterDay Geschrieben 30. August 2008 Geschrieben 30. August 2008 Für einen Zugriff reichen aber Leserechte (und Ausführungsrechte) völlig aus. Das ist das was man überall im Internet findet. Weil es halt einfacher ist chmod 777 einzugeben, als sich Gedanken über User und Zugriffsrechte etc. zu machen. Ich sage nicht dass das richtig ist, ist aber so (siehe z.B. oben).
starbuck86 Geschrieben 8. September 2008 Geschrieben 8. September 2008 Hätte da mal ne allgemeine Frage: Gehen wir mal von diesem hypothetischen Fall aus ein Skript wurde als root-User angelegt und es kommen in diesem Skript Befehle vor, die nur als root-User durchgeführt werden können. Jetzt kommt der User hans, der in einer non-root-Gruppe ist und führt das Skript mit mod a+x aus. Mit welchen Berechtigungen wird das Skript gestartet?
lordy Geschrieben 8. September 2008 Geschrieben 8. September 2008 Das wird natürlich als der User hans laufen und demenstprechend jede Menge Fehlermeldungen über fehlende Berechtigungen produzieren.
Cellolein Geschrieben 12. September 2008 Geschrieben 12. September 2008 Ivanhoe, es ist zwar recht einfach, alles in die '/etc/contab' einzutragen aber das sollte man vermeiden. Die '/etc/crontab' wird bei jedem Systemupdate überschrieben, was bei 'crontab -e' nicht der Fall ist. Grüße,
truebsalgeblaese Geschrieben 12. September 2008 Geschrieben 12. September 2008 Hallo Cellolein, wer überschreibt die /etc/crontab ? Ist mir selber noch nicht vorgekommen... tsg
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden