バックアップ用に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
"を文句を言います。
私したまず、コンテナをファイルにエクスポートし、同じファイルを使用してコマンドを実行すると正常に動作しますが、これを行う正しい方法(存在する場合)を知りたいです。
ありがとうございます!