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... Zitieren
lordy Geschrieben 22. August 2008 Geschrieben 22. August 2008 crontab -e 0 5 * * 4 <Kommando> Mehr Details gibts in man 5 crontab Zitieren
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. Zitieren
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. Zitieren
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. Zitieren
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. Zitieren
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 Zitieren
@@@ 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 Zitieren
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!?" Zitieren
@@@ 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.... Zitieren
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). Zitieren
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? Zitieren
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. Zitieren
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, Zitieren
truebsalgeblaese Geschrieben 12. September 2008 Geschrieben 12. September 2008 Hallo Cellolein, wer überschreibt die /etc/crontab ? Ist mir selber noch nicht vorgekommen... tsg Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.