Ich möchte einen Cron-Job als bestimmter Benutzer auf meinem Computer ausführen. Wie kann ich den Benutzer angeben, unter dem ein Cron-Job ausgeführt werden soll?
Die Cron-Jobs werden auf einem Server ausgeführt (unter Ubuntu 10.0.4). Die Benutzer sind Benutzer, die speziell für die Ausführung bestimmter serverseitiger Aufgaben erstellt wurden. Diese Benutzer haben Folgendes gemeinsam:
- Anmeldung am System nicht möglich
- Haben Sie eingeschränkten Zugriff auf bestimmte Ordner / Dateien
crontab -u <user> -e
alles an einem Ort zu lassen, was Sie als root tun können. Ich mag es jedoch, meine Cron-Jobs nach Funktionen zu gruppieren, anstatt nur nach Benutzern. Daher ist dies die bevorzugte Lösung für mich.Als root, um den cron von user1 zu bearbeiten:
Sie können Ihren Befehl auch starten mit:
Aber oft reduzieren die Skripte selbst ihren eigenen Zugriff, wenn sie als root gestartet werden.
quelle
Ich habe ein paar Wochen danach gesucht und das hat endlich funktioniert ...
Erstellen Sie Ihr Skript als Benutzer1
Geben Sie einen Befehl ein
mach es ausführbar
Bearbeiten Sie die crontab für user1
Füge eine Zeile am unteren Rand ein, die auf deine Skripte zeigt.
exit - Änderungen speichern (beim Speichern wird ein / tmp-Verzeichnis angezeigt ... es ist in Ordnung)
Warten Sie auf die Wende der Minute
öffne deine neu erstellte yay.txt
Sie sollten jetzt ein Nano-Fenster mit "YAY it works" als erste und einzige Zeile geöffnet haben, wenn am unteren Rand Ihres Nano-Fensters "New File" (Neue Datei) angezeigt wird
Sie können auch Ihren neuen crontab-Eintrag für Benutzer1 unter / var / spool / cron / crontabs / Benutzer1 überprüfen
FRIEDEN
quelle
Manchmal möchten Sie vielleicht, dass der Benutzer seine Umgebung lädt, besonders wenn Sie "rbenv", "nvm" wie folgt verwenden:
(Hier
source ~/.bash_profile
lädt der Befehl Ihre Ruby- oder Node-Umgebung.quelle