cron für Benutzer ausführen

Status
Für weitere Antworten geschlossen.

Purzel

Benutzer
Mitglied seit
07. Jul 2008
Beiträge
40
Punkte für Reaktionen
0
Punkte
0
Moin!

Ich muss ein Shell-Script zeitgesteuert unter einem bestimmten Benutzer ausführen. Den entsprechenden Eintrag in der crontab habe ich gemacht und in der "who"-Spalte den Benutzernamen angegeben.

Tatsächlich wird das Script auch zur richtigen Zeit gestartet, allerdings als "USER root", was ja nicht sein sollte. - Offensichtich wird der "who"-Eintrag ingnoriert. :(

Wie kann ich der DS beibringen, den richtigen Benutzer zu verwenden?

Schöne Grüße,
Purzel
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Schau mal ob folgendes funktioniert:

Rich (BBCode):
cd /var/spool/cron/crontabs
ls -l

Nun siehst, dass hier die crontab-Datei als Link für den Benutzer root steht. Vor dieser Stelle führt der crond seine Aufgaben aus.

Erstelle jetzt eine Datei, die nur die Zeile enthält, die für deinen Benutzer gültig ist unter dem Namen deines Benutzers. Und dann einen Restart des crond. Schau, ob es jetzt geht.

itari
 

Purzel

Benutzer
Mitglied seit
07. Jul 2008
Beiträge
40
Punkte für Reaktionen
0
Punkte
0
Hi itari,

genau das hatte ich zuvor auch schon probiert. Aber die 2. crontab wird komplett ignoriert.

Also, ich hab die Original crontab in /var/spool/cron/crontabs/ kopiert und in "Hans" umbenannt. Dann mit chown Hans:users Besitzer und Gruppe zugeordnet und chmod 777 Hans ausführbar gemacht.
Dann habe ich bis auf eine cron-Zeile alles raus gelöscht und diese eine Zeile entsprechend angepasst (Zeit, who auf Hans, Befehl).
Anschließend habe ich chrond neu gestartet (Meldung in cron.log).
Punkt 18 Uhr wurden die stündlichen Aufgaben auf der root-crontab abgearbeitet, aber von Hans keine Spur. :(

Schöne Grüße,
Purzel
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
du kannst mit ipkg install cron noch eine Alternative installieren.

itari
 

Purzel

Benutzer
Mitglied seit
07. Jul 2008
Beiträge
40
Punkte für Reaktionen
0
Punkte
0
Danke für den Tipp, hatte gedacht, das wäre das gleiche cron...

Leider funktioniert's mit dem neuen cron immer noch nicht... :( Denke mal, ich hab soweit alles richtig eingestellt (bin nach dieser Anleitung vorgegangen) und /sbin/cron läuft auch als Prozess. Hab versucht einen Eintrag in der globalen crontab zu machen, dann in der User-Tab für root und natürlich auch einen für Hans. Aber irgendwie passiert da garnichts...

[edit]
So, inzwischen hab ich es hinbekommen... es lag an den Berechtigungen für die crontabs. Wenn man nämlich /opt/sbin/cron -x test aufruft, meldet cron einen "BAD FILE MODE" für alle crontabs (System und User). Erst wenn die Berechtigungen auf 0600 geändert wurden, werden die crontabs auch angenommen und abgearbeitet (was sich mit -x test prüfen lässt). :)

Schöne Grüße,
Purzel
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat