nextcloud 및 기타 서비스를 제공하는 웹 서버가 있습니다. 성능 문제로 인해 여러 디스크에 raid 0을 사용하기로 결정했습니다. 그렇기 때문에 백업이 절실히 필요합니다. 그래서 더 안전하지만 덜 강력한 레이드 레벨을 갖춘 두 번째 시스템을 설치했습니다.
두 머신 모두 데비안 기반입니다. 보안상의 이유로 백업 컴퓨터는 openvpn 터널을 통해서만 액세스할 수 있습니다. 이제 SSH를 통해 bash 쉘에 로그인하고 프로덕션 서버에서 첫 번째 백업을 수행했습니다. 거기서 openvpn --> configfile 명령을 사용하여 다른 컴퓨터에 연결을 설정했습니다.
그러면 셸로 전송된 일부 VPN 메시지가 제공됩니다. 그래서 두 번째 SSH 연결에서 새 쉘을 열었습니다. 거기서 백업하려는 폴더에 대해 rsync 명령을 시작했습니다. 모든 것이 예상대로 작동합니다. 백업을 완료한 후 두 번째 셸의 연결을 끊고 첫 번째 셸에서 VPN 터널의 연결을 끊었고 모든 것이 잘 작동했습니다.
이제는 할머니 식으로 매일 하고 싶어요. 내 backup.sh는 다음과 같습니다
#!/bin/bash
openvpn /home/cloud/vpn/tunnel.ovpn
rsync --numeric-ids -avze 'ssh -i /xy' /source/ [email protected]:/destination
불행히도 이것은 작동하지 않습니다. 그 이유는 터널이 열려 있는 동안 openvpn이 셸을 차단하기 때문인 것 같습니다. 그래서 내 질문은 다음과 같습니다
- 터널이 시작될 때 rsync가 작동하도록 하려면 어떻게 해야 합니까?
- rsync 진행이 완료된 후 연결을 끊는 방법은 무엇입니까? 수동 모드에서는 "ESC"를 눌러 이 작업을 수행합니다.
답변1
내가 아는 한, OpenVPN에서는 연결할 때마다 사용자 이름: vpnbook 및 비밀번호: CURENT_PASSWORD를 입력해야 합니다. 연결 프로세스를 자동화하려면 파일을 생성하고 이름을 "auth.txt"로 지정해야 하며 파일에는 사용자 이름과 비밀번호라는 두 줄만 포함되어야 합니다. 당신은 당신을 만들었습니다승인하다아직 파일이 없나요?
OpenVPN이 auth.txt를 가져오면(auth.txt는 Windows에서 이 파일의 이름입니다. Linux용 파일을 만드는 방법에 대한 지침은 OpenVPN 매뉴얼과 Google을 찾아보세요) 다음을 언급하여 모든 것을 자체적으로 연결할 수 있어야 합니다. , 예를 들어openvpn --config vpnbook-ca1-tcp443.ovpn모든 터미널(스크립트 포함)에서.