Ubuntuxer hat geschrieben:Wenn ich crontab -e ausführe, öffnet sich bei mir im Terminal direkt der Editor Nano
Hallo Ubuntuxer!
Dieser Befehl
erstellt eine neue Crontab für den Benutzer "gerold" oder überschreibt seine Crontab mit der Ausgabe des echo-Befehls.
Du kannst dir das in Python zu nutze machen. Nimm ``subprocess`` um eine Verbindung zu ``crontab -u gerold -`` ("gerold" ist der Benutzername; der Bindestrich ist wichtig) aufzunehmen. Dann kannst du über STDIN des Progrogramms den neuen Inhalt der Crontab bestimmen.
Der Befehl ``crontab -u gerold -l`` gibt den Inhalt einer evt. existierenden crontab für den Benutzer "gerold" aus.
Die Parameter "-u" und der Benutzername können und sollen natürlich weggelassen werden, wenn der Befehl nicht als root ausgeführt wird.
Ein Beispiel:
Code: Alles auswählen
#!/usr/bin/env python
import subprocess
# Alte Eintraege holen
args = ["crontab", "-u", "gerold", "-l"]
proc = subprocess.Popen(args, stdout = subprocess.PIPE)
items = proc.stdout.readlines()
proc.stdout.close()
# Neuen Eintrag hinzufuegen
items.append("20 20 * * * xxxxxxxx\n")
# Alte und neue Eintraege schreiben
args = ["crontab", "-u", "gerold", "-"]
proc = subprocess.Popen(args, stdin = subprocess.PIPE)
proc.stdin.writelines(items)
proc.stdin.close()
mfg
Gerold
