우리의 응용 프로그램은 /etc/services
에 많은 정의를 만듭니다. 우리는 이러한 정의와 핸디 services
파일을 유지 있도록 우리가 할 수있는이 같은 /etc/services
에 단지 파이프를 :퍼시스턴시를 사용하여 파일에 많은 양의 텍스트를 추가하려면 어떻게해야합니까?
cp /etc/services /etc/services.stock
cat /path/to/build/services >> /etc/services
그것은 작동하지만 함께 추가 얻을 수있는 서비스 파일의 원인이됩니다 반복적으로이 명령을 실행 즉 멱등 아니에요 정보를 다시.
나는 우리의 무책임한 플레이 북을 통해이 작업을 수행하는 방법을 찾고 있습니다. 나는 이런 식으로 할 수있다 :
- command: "cat /path/to/build/services >> /etc/services"
그러나 내가 연극을 할 때마다 나는 뛰고 싶지 않다.
또 다른 옵션은 다음과 같이 할 수 있습니다 :
- name: add services
lineinfile:
state: present
insertafter: EOF
dest: /etc/services
line: "{{ item }}"
with_items:
- line 1
- line 2
- line 3
- line 4
- ...
을하지만 개별적으로 각 라인을 않기 때문에, 정말 느립니다.
더 좋은 방법이 있습니까? 템플리트는 서비스 파일을 완전히 덮어 쓰기 때문에 도움이되지 않습니다. 이는 약간 무례하게 보입니다.
가 아닌 경우 ansible 사용자,하지만 당신은 같은 것을 할 수 있습니다 : 1) 경우에만, 파일'은/etc/services.stock'이 존재하지 않는 다음'은 cp/etc/services에/etc/services.stock'. 2)'cat /etc/services.stock/path/to/build/ services>/etc/services' 명령을 사용하십시오. – msandiford