SSH를 통해 Docker 컨테이너를 tar.zst 파일에 백업

SSH를 통해 Docker 컨테이너를 tar.zst 파일에 백업

백업을 위해 Docker 컨테이너를 원격 NAS로 내보내는 간단한 스크립트를 작성했습니다.

저는 스크립트에서 보다 전통적인 Unix 도구를 사용하는 방법을 배우려고 하므로 다음을 수행하는 단일 명령(파이프 포함)을 사용하여 이 작업을 수행하고 싶습니다.

  • 수출 컨테이너

  • ZSTD로 압축

  • SSH를 통해 NAS에 연결

  • 컨테이너 파일(tar.zst)을 대상으로 출력합니다.

나는 다음과 같은 (추상) 것을 생각해 냈습니다.

docker export $CONTAINER | pv |  zstd -18 | ssh $nasuser@$nasaddress  "cat > /remote/destination/directory/$CONTAINER.tar.zst"

그러나 이 명령은 실패합니다. cat이진 입력을 읽는 것처럼 보이고 실패하며 " no such file or directory"을(를) 불평합니다.

했다먼저 컨테이너를 파일로 내보낸 다음 동일한 파일을 사용하여 명령을 실행하면 제대로 작동하지만 이 작업을 수행하는 올바른 방법(있는 경우)을 알고 싶습니다.

감사해요!

관련 정보