2017-05-17 1 views
0

Ich möchte standardmäßig tmp.conf um mit /etc/tmpfiles.d/tmp.conf überschreiben und den Cron-Job um Mitternacht jeden Tag ausführen. Der Dienst muss als systemd-tmpfiles --clean ausgeführt werden. Wie kann ich den Service um Mitternacht ausführen? Jemand hilft mir bitte?starten Sie einen Systemdienst mit Cron - SaltStack

Beispielcode:

tmp.conf: 
    file.managed: 
    - name: /etc/tmpfiles.d/tmp.conf 
    - source: salt://tmp/files/tmp.conf 
    - user: root 
    - mode: 644 
    - require: 
     - user: root 


run_systemd-tmpfiles: 
     cron.present: 
     - user: root 
     - minute: 0 
     - hour: 0 
     - require: 
      - file: tmp.conf 
enable_tmp_service: 
     service.running: 
      - name: systemd-tmpfiles --clean 
      - enable: True 
      - require: 
      - cron: run_systemd-tmpfiles 

Antwort

4

Wenn Sie nur das Kommando wollen als Teil eines cron ausführen können, müssten Sie haben, dass cron.present Setup den Befehl auszuführen.

cron_systemd-tmpfiles: 
    cron.present: 
    - name: systemd-tmpfiles --clean 
    - user: root 
    - minute: 0 
    - hour: 0 
    - require: 
     - file: tmp.conf 

Wenn Sie dann in diesem Zustand ausgeführt werden soll, können Sie die tmpfile.service nicht verwenden, würden Sie nur den Befehl über eine cmd.run laufen, oder wenn Sie es, wenn die file.managed ausführen möchten Änderungen würden Sie cmd.wait

run tmpfiles: 
    cmd.wait: 
     - name: systemd-tmpfiles --clean 
     - listen: 
     - file: tmp.conf 

Aber systemd-tmpfiles.service verwenden bereits beim Booten ausgeführt wird, wenn Sie systemd verwenden, so gibt es keinen Grund, es wieder zu aktivieren. Und wenn es zu Beginn des Boot-Prozesses läuft, läuft es genauso ab wie tmpfile --clean.

Verwandte Themen