![시스템 서비스 ExecStartPre 라인에서 차단 명령을 처리하는 방법은 무엇입니까?](https://linux55.com/image/199828/%EC%8B%9C%EC%8A%A4%ED%85%9C%20%EC%84%9C%EB%B9%84%EC%8A%A4%20ExecStartPre%20%EB%9D%BC%EC%9D%B8%EC%97%90%EC%84%9C%20%EC%B0%A8%EB%8B%A8%20%EB%AA%85%EB%A0%B9%EC%9D%84%20%EC%B2%98%EB%A6%AC%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
내 백업 프로그램(btrbk)이 백업을 내 서버로 보내려면 먼저 VPN 연결을 열어야 합니다. 전화를 걸어 수동으로 VPN 연결을 여는 것이 효과적입니다.
openvpn --config VPNConfig.ovpn
이제 백업을 시작해야 하는 시스템 서비스(시스템 시간에 따라 매일 트리거됨)를 만들었습니다. 전제 조건으로 VPN에 연결되어 있어야 합니다.
ExecStartPre=openvpn --config VPNConfig.ovpn
서비스 파일의 줄. 불행하게도 이 openvpn 호출은 차단되어 실제 백업 프로세스가 수행되는 것을 차단합니다.
이 문제를 해결하는 가장 좋은 방법은 무엇입니까?
미리 감사드립니다 :)
답변1
ExecStartPre=
OpenVPN 연결을 위한 별도의 서비스를 생성해야 하며, 이를 사용하는 대신 Before=
백업 서비스를 시작하도록 지정하고 필요에 따라 이를 활용해야 합니다.
백업을 위해 VPN 연결을 시작하려는 경우백업이 완료되면 중지합니다., VPN 서비스를 PartOf=
백업 서비스로 선언할 수 있습니다.
백업이 완료된 후에도 VPN을 계속 실행할 수 있거나 실행해야 하는 경우 VPN 서비스를 RequiredBy=
백업 서비스로 지정할 수 있습니다.
나중에 백업 VPN 솔루션을 변경해야 하는 경우 실제 백업 장치나 해당 타이머를 건드리지 않고 VPN 서비스 장치를 간단히 다시 작성하거나 교체할 수 있습니다.
그런 다음 VPN 서비스에서 공개 항목을 생략하므로 WantedBy=multi-user.target
이를 시작하는 유일한 방법은 종속성 또는 명시적 명령을 통해서입니다 systemctl start
.
애퍼처사이언스의 광고 슬로건을 적용하여,이제 단위에 대해 생각하고 있습니다.