추가 읽기

추가 읽기

서비스 파일이 많이 있습니다/etc/systemd/service/myapp.*.service

각 줄에는 다음과 같은 줄이 있습니다.

User=Foo

...이 .service 파일을 모두 변경하여 모두 다음과 같이 표시되도록 해야 합니다.

User=Bar

이 작업을 어떻게 효율적으로 수행합니까?

답변1

누가 파일을 변경해야 한다고 말합니까? ☺

/etc/systemd/service/ -maxlength 1 -name 'myapp.*.service' 찾기 |
-ri를 읽을 때
하다
    printf '[서비스]\nUser=%s\n' '바' > ${i}.d/change-user.conf
완벽한

이렇게 하면 원래 서비스 정의를 다시 복원하는 것이 더 쉬워집니다.

rm -- /etc/systemd/service/myapp.*.service.d/change-user.conf

이것들을 다 만들어파일물론 이것은 전체 서비스에 작동하는 하드 링크를 사용하는 간단한 연습일 뿐입니다.

설치 -d /etc/systemd/temp
printf '[서비스]\nUser=%s\n' '바' > /etc/systemd/temp/change-user.conf
/etc/systemd/service/ -maxlength 1 -name 'myapp.*.service' 찾기 |
-ri를 읽을 때
하다
    ln /etc/systemd/temp/change-user.conf ${i}.d/change-user.conf
완벽한

또한 이는 패키지 제공 및 런타임 생성 단위를 사용하여 이러한 작업을 수행하는 공식적인 방법입니다. 당신은해야아니요해당 유닛 파일을 변경하세요.

추가 읽기

  • 레나트 페틀링(2013-10-07). systemd.unit. 시스템 매뉴얼 페이지. freedesktop.org.

답변2

사용 sed:

sed -i 's/^User=Foo$/User=Bar/' /etc/systemd/service/myapp.*.service

관련 정보