
Linuxでファイルを転送するシェルを作成しております。
コピー元と同じ階層構造でコピーしたいのですが、
ftp内で mkdir をする時にオプションの -p は使えないのでしょうか?
さきほどやってみたのですが、うまくいきません。
Target="share/1G/1T"
ftp -i -v -n 10.156.1.xxx <<END
user UserName PW
bin
mkdir -p $Target *1G/1Tというフォルダを一気に作成したい。
cd $Target
#put $Target/test.txt /Target/test.txt
bye
END
ftpのコピー先に、フォルダ階層をいっきに作成する方法はありますでしょうか?
No.2ベストアンサー
- 回答日時:
使えません。
Linuxのmkdirコマンドとftpのmkdirコマンドは似ていて非なるものです。そこで、以下のようにすれば期待されている動作に近い形になるかと思います。
Target="share/1G/1T"
( echo 'user UserName PW'
echo 'bin'
IFS=/
for subdir in "$Target"; do
echo "mkdir $subdir"
echo "cd $subdir"
done
#echo 'put $Target/test.txt /Target/test.txt'
echo 'bye' ) | ftp -i -v -n 10.156.1.xxx
ただ、上記はディレクトリが最初から存在していた場合についてあまり
考慮されていません(処理は継続されますが、550のコードが出力されてしまいます)
お礼がおそくなりすみません。
ありがとうございました。
ftpの特性がわかってきました。
また、非常に参考になりました。ありがとうございます。
No.1
- 回答日時:
ftpにこだわらないのならrsyncはどうでしょうか、相手が空のディレクトリならそのままコピーになりますし、--deleteをつけると余分なものは消してくれます。
参考
http://www.maruko2.com/mw/rsync_でディレクトリの同期(バックアップ)
「ssh と組み合わせリモートマシンにコピーする」
あたりが参考になるのではないかと
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
xcopyで特定のファイルのみをコ...
-
echo "abc" >> test.txt で、先...
-
リダイレクト >> を複数のファ...
-
echoの出力の最後のスペースを...
-
.txtって、縦書きにはならない...
-
FTPのバッチファイルで日付を引...
-
コマンドプロンプトで標準エラ...
-
DOSコマンドでドットを2個...
-
コマンド実行結果を環境変数に...
-
linux日本語入出力の仕組み
-
フォルダに入っているファイル...
-
diffコマンドにてテキスト出力
-
ダウンロードするとメモ帳に表...
-
標準出力/標準エラー出力を時...
-
アスタリスクを文字列として変...
-
コマンドプロンプトで相対パス...
-
【VBA】テキストファイルから特...
-
batファイルの結果をテキストに...
-
Linux mkdirでサブフォルダごと...
-
バッチファイル 現在のフォルダ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
echoの出力の最後のスペースを...
-
xcopyで特定のファイルのみをコ...
-
【VBA】テキストファイルから特...
-
echo "abc" >> test.txt で、先...
-
コマンドプロンプトで相対パス...
-
リダイレクト >> を複数のファ...
-
コマンドプロンプトで標準エラ...
-
バッチファイル 指定行の切り出し
-
バッチファイルのfor文を使って...
-
バッチファイル 現在のフォルダ...
-
コマンド実行結果を環境変数に...
-
バッチファイルで改行の出力
-
NULLの置き換えについて
-
.txtって、縦書きにはならない...
-
複数テキストファイル連結につ...
-
バッチコマンドの「set」で入力...
-
Diskpart のリダイレクトの質問...
-
特定のファイルだけをサブディ...
-
DOSプロンプト:一番速く10万...
-
nkfで全角ハイフンが半角になる...
おすすめ情報