Ich hab meine 3 regelmäßigen Aufgaben jetzt ein paar Tage schon via systemd laufen.
Da der vorhandene Inhalt der Dateien, in die ich meine Protokollausgaben schreibe, beim öffnen nicht gelöscht (truncated) sondern nur überschrieben wird, wollte ich variable Dateinamen verwenden. Das ist aber leider von systemd nicht vorgesehen. Man kann bei StandardOutput etc. keine Shellvariablen im Dateinamen verwenden. Die Fehlermeldung taucht aber erst bei der Ausführung der Service-Unit im Journal auf und die Unit wird nicht ausgeführt.
Ich suche zur Zeit noch nach einer Möglichkeit, entweder meine Protokolldateien Dateien beim Start der Unit zu leeren bzw. zu löschen. Da experimentiere ich noch.
Ich hab aber nach mehrmaligem Lesen der Man-page systemd.units meine selbsterstellten Unit-Files nicht mehr in /etc/systemd/system liegen, sondern in /usr/local/lib/systemd/system. Das hat bei mir sogar den Vorteil, dass ich /usr/local auf der 2. Platte in einer separaten Partition liegen habe und diese bei einem Upgrade meines Systems nicht angepackt wird.
Da meine Scripte, die ich über systemd ausführen lasse, ja in /usr/local/bin liegen, ist jetzt alles was zusammengehört am gleichen Ort (Partition/Filesystem).
Man kann sich die Pfade, die von systemd im --system Mode bzw im --user Mode durchsucht werden, anzeigen lassen:
Pfade im --system Mode
igel01:~ # systemd-analyze --system unit-paths
/etc/systemd/system.control
/run/systemd/system.control
/run/systemd/transient
/run/systemd/generator.early
/etc/systemd/system
/etc/systemd/system.attached
/run/systemd/system
/run/systemd/system.attached
/run/systemd/generator
/usr/local/lib/systemd/system
/usr/lib/systemd/system
/lib/systemd/system
/run/systemd/generator.late
igel01:~ #
Alles anzeigen
Pfade im --user mode:
igel01:~ # systemd-analyze --user unit-paths
/root/.config/systemd/user.control
/root/.config/systemd/user
/etc/xdg/systemd/user
/etc/systemd/user
/run/systemd/user
/root/.local/share/systemd/user
/usr/share/systemd/user
/usr/local/lib/systemd/user
/usr/local/share/systemd/user
/usr/lib/systemd/user
igel01:~ #
Alles anzeigen