• ベストアンサー

ftpコマンドの戻り値をチェックしたい

現在業務でftpコマンドを用いたバックアップシェルを作成しております。(RHEL4) クーロンでシェルAを呼び、シェルA内でftpコマンド発行→ファイルB内のftpコマンドを実行→シェルAに戻る、という仕様ですが、このftpコマンドが成功したのか失敗したのかをプログラム上で判断する方法はありますでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

shogo0809さんの回答に便乗します。 実行ログをファイルに落としてgrepするのがよいと思います。 以前、似たような質問があったので 具体的な手順は参考URLのほうを見てはどうでしょうか? →シェルスクリプトでFTPの実行結果を取得するには

参考URL:
http://oshiete1.goo.ne.jp/qa2656080.html
noname#24740
質問者

お礼

遅レスすみません。 回答有難う御座いました。 回答頂いた内容とは少し異なりますが、同じ結果を利用させて頂きました。有難う御座いました。

その他の回答 (3)

  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.3

FTPの実行結果を知りたいということでしたら、 unix用はncftpput/ncftpgetがあります。 「ncftpputはファイルの転送をインタラクティブモードを用いずにコマンドラインから行うことを目的としています」 ncftpput又はncftpgetで検索してみて下さい。

参考URL:
http://digit.que.ne.jp/visit/?LinuxZaurusWatch%2Fncftpput%A5%DE%A5%CB%A5%E5%A5%A2%A5%EB%CB%DD%CC%F5
noname#24740
質問者

お礼

遅いレス申し訳ありません。 回答有難う御座いました。 今回はシェルスクリプトのみで切り抜けましたが、次回、機会があれば利用してみたいと思います。

  • shogo0809
  • ベストアンサー率47% (25/53)
回答No.2

編集中の内容で投稿しちゃいました。 > ftplog=`cat ファイルB | ftp は ftplog=`cat ファイルB | ftp [オプション]` > cat ファイルB | ftp > ファイルC は cat ファイルB | ftp [オプション] > ファイルC です。

  • shogo0809
  • ベストアンサー率47% (25/53)
回答No.1

「シェル」っていうのは「シェルスクリプト」ってことでいいですよね。 だとしたら、 ・出力を変数に代入してチェックする ・ftpコマンドの出力をファイルにリダイレクトして、その内容をチェックする あたりでしょうか。「成功」の条件がはっきりわからないのでこれぐらいしか言えませんが。 変数に代入するなら ftplog=`cat ファイルB | ftp で$ftplogに代入されますし、ファイルに保存するなら cat ファイルB | ftp > ファイルC として、ファイルCの内容をチェックすればよいと思います。

noname#24740
質問者

お礼

遅レスすみません。 回答有難う御座いました。 ftp xxx.xxx.xxx.xxx < FTPのコマンド一覧 > log.txt で出力された結果を、 | grep "226 Transfer complete." | wc -l` して、予めバックアップ対象ファイル数を代入した変数と突合せする事で対応しました。

関連するQ&A