【PHPでSCPコマンド】

PHPでバッチ処理の中でSCPでリモートからファイルを持ってくるプログラムを作成しています。

バッチの中で、scp -B ....という形でコマンドを打てるようになったのですが、ファイルが取得に失敗した場合、
scp: warning: Missing destination file.

という表示が出た後にSCPのオプションが表示されるようになりました。

こちらが出さずにエラー終了する方法はありませんでしょうか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/08/02 15:49:13
  • 終了:2006/08/05 09:50:49

回答(4件)

id:elf No.1

えるふん回答回数76ベストアンサー獲得回数82006/08/02 18:22:14

ポイント30pt
exec( "scp -B ... 2> /dev/null");

などとしても出てきますか?

http://www.h7.dion.ne.jp/~matsu/feature/bash/basic/redirect-...

id:folds5

ありがとうございます。こちら、試してみます。

2006/08/05 09:48:16
id:kurukuru-neko No.2

kurukuru-neko回答回数1844ベストアンサー獲得回数1552006/08/02 19:27:03

> exec( "scp -B ... 2> /dev/null");

scpはコマンド。

2>/dev/nullは、SHELLのパラメータになるので動作せず

scp は、 パラメータに 2 > /dev/nullが指定

されたと思って動作しています。

対策としては、2> /dev/null を消す。

http://www.opaopa.org/~yuyama/manual/php/data/function.exec....

id:folds5

ありがとうございます。

2006/08/05 09:48:43
id:kurukuru-neko No.3

kurukuru-neko回答回数1844ベストアンサー獲得回数1552006/08/02 20:08:05

ポイント50pt

前の回答は、ポイント不要

scpに-qオプションをつけたら出なくなるかもしれません。

 http://www.unixuser.org/~euske/doc/openssh/jman/scp.html

================================================

scp.shを作成

chmod 755 scp.sh

呼び出し方法をscpからscp.shに変更する。

PHPで呼び出しする場合、パラメータパスワード

等の固定部分があれば scp.shに事前記述

した方がよいかも。

  • scp.sh

#!/bin/bash

scp $* 2>/dev/null >/dev/null

RC=$?

exit $RC

id:folds5
  • qオプションでは出てくるようです。

エラーは事前で行うことにしましたのでいったんこちらの質問を閉じさせていただきます。

2006/08/05 09:49:35

質問者が未読の回答一覧

 回答者回答受取ベストアンサー回答時間
1 haru1234 12 10 0 2006-08-03 15:47:29

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません