この質問を説明する最も簡単な方法は、私がbashスクリプトで持っている以下のコード行を表示することです。tar over ssh:コピー先のファイル名と場所を設定し、既存のファイルを上書きする
tar -cJf - ./my_folder | ssh [email protected] 'tar -xJf - && rm -r ./path-to-my_folder/my_folder && mv ./my_folder ./path-to-my_folder'
私はそれがどのように機能するかは完全に理解していません。 (?何を'-'
は、この文脈で意味がある)しかし、これは、それが何をするかです:
はメモリに圧縮されたtarアーカイブを作成し、パイプは何とか
ssh越しのtarデータをプッシュtarアーカイブが表示されます。
user
のルートフォルダに、sshコマンドが' ... '
間におけるものの実行を継続抽出され、サーバ側の古いフォルダ
rm
を用いて除去し、Uから抽出されたフォルダを移動することによって置換されますserのルートディレクトリ
これはかなり長いことです。 tarアーカイブが正しい場所に抽出されて、rm
とmv
コマンドが必要ないようにする方が良いでしょう。これはできますか?
注:I は、を使用できません。rsyncです。 -
サインがSTDOUTを意味
tar -cJf - ./my_folder | ssh [email protected] 'tar -xJf - -C path-to-my_folder'
:
あなたのすべてのタールオーバーsshの質問は本当にunix.stackexchange.comまたはsuperuser.comに属しています。 SOはプログラミングに関する質問であり、通常のコマンドラインに関する質問ではありません。 – Barmar
@Barmar私は同意します - 私は間違った場所であったサーバー障害についても誤って質問を投稿しました。私は移行のためにフラグを立てました – user3728501
UnixとLinuxに属しているので、この質問を議論の対象にしないように投票しています –