2017-05-17 2 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.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이 실행되는 것과 같은 방식으로 실행됩니다.

관련 문제