リモートの場所でscpを試みており、ファイルシステム全体(小型組み込みLinuxデバイス)をコピーしようとしています。 SCPは私が試した方法が好きではありませんでした。
scp -r name@ip:/ ./local_folder
次のエラーが発生します。
error: unexpected filename:
-v を使用して実行すると、最後のメッセージは次のようになります。
debug1: Sending command: scp -v -r -f /
Entering directory: D0755 0
Sink: D0755 0
error: unexpected filename:
もし私がするなら
scp -r name@ip:/etc ./local_folder
同じデバッグフラグメントは次のとおりです。
debug1: Sending command: scp -v -r -f /etc
Entering directory: D0755 0 etc
Sink: D0755 0 etc
検索するのは少し難しいです。 「scpルートスラッシュ予期しないファイル名」などのクエリを検索しようとすると、同じ問題を持つ人が見つかりません。
ベストアンサー1
見つかったすべてのシンボリックリンクに従うので、scp
ファイルをそのままコピーするツールを使用する方が合理的です。
このrsync
プログラムは、以下よりもディレクトリ構造を再構築できますscp
。
rsync -av name@ip:/ ./local_folder
これはファイルメタデータ(タイムスタンプなど)を保存するだけでなく、ディレクトリ/
にある隠しファイル(存在する場合)もコピーします。
rsync
さらに使用することで、ハードリンクを保存できます-H
。
rsync
ssh
デフォルト転送として使用されます。
tar
リモートシステムでも使用できますssh
。
ssh name@ip tar -c -f - -C / . >local_folder/filesystem.tar
または
ssh name@ip tar -c -f - -C / . | tar -v -x -f - -C local_folder