2017-05-17 15 views
0

デフォルトのtmp.confを/usr/lib/tmpfiles.d/に置き換えて/etc/tmpfiles.d/tmp.confとし、毎日真夜中にcronジョブを実行したいと思います。サービスはsystemd-tmpfiles --cleanとして実行する必要があります。真夜中にサービスを実行するにはどうすればいいですか?cron - SaltStackを使用してシステムサービスを開始する

サンプルコード:

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 

答えて

4

あなただけのコマンドは、cronのの一部として実行したい場合は、cron.presentセットアップコマンドを実行することを持っている必要があります。あなたは、この状態でそれを実行したい場合は

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

、あなたは、あなただけのcmd.runを介してコマンドを実行します、またはあなただけしたい場合、それはときfile.managedを実行tmpfile.serviceを使用することはできません変更は、あなたがにsystemdを使用している場合は、すでに起動時に実行されるcmd.wait

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

しかしにsystemd-tmpfiles.serviceを使用しますので、それを再度有効にする理由はありません。ブートプロセスの開始時に実行されると、tmpfile --cleanが実行されるのと同じ方法で実行されます。

関連する問題