2017-12-22 9 views
0

Ich verwende Supervisor (supervisord), um einige Dienste in einem CentOS-basierten Docker-Container auszuführen, der zusätzlich cronie installiert hat, um einige periodische Aktionen auf diesem Dienst auszulösen.Wie führe ich Cron-Daemon im Vordergrund mit nicht-privilegierten Benutzer?

Der Supervisor benötigt die Prozesse, die er verwaltet, im Vordergrund (er dämmt sie selbst). Das ist kein Problem, da crond-n Flag dafür hat. Das Problem ist, dass es nicht als Nicht-Root-Benutzer gestartet werden kann, auch wenn man es im Vordergrund laufen:

crond: can't open or create /var/run/crond.pid: Permission denied

Gibt es eine Möglichkeit, dieses Problem zu lösen? Oder vielleicht gibt es alternative (einfache, leichte) Planungslösungen, die den Anforderungen entsprechen?

+0

FYI https://Stackoverflow.com/a/5174433/1207049 – marekful

+0

@marekful Diese Pid-Datei Manipulation hilft nicht. Ich habe es bereits versucht, und "cond" scheitert dann mit einem anderen Fehler. – Victor

+0

Ähnliches Problem ist hier gelöst https://Stackoverflow.com/a/47668626/3514821 –

Antwort

0

Ich glaube nicht aber Sie & einen anderen Standpunkt versuchen können auf diese Aufgabe innerhalb oder ohne eigenen Behälter einen useland Scheduler widmen

dieser wird einen Scheduler-Trigger auf Skripte gespeichert auf einem gemeinsam genutzten laufen Volume tun die Container, die es Zugang zu haben muss.

+0

Was ist der Sinn? Wie löst es das Problem, es als Nicht-Root-Benutzer auszuführen? – Victor

+0

Benutzer Land Scheduler bedeutet No-Root –

Verwandte Themen