- ベストアンサー
ftpコマンドの戻り値をチェックしたい
現在業務でftpコマンドを用いたバックアップシェルを作成しております。(RHEL4) クーロンでシェルAを呼び、シェルA内でftpコマンド発行→ファイルB内のftpコマンドを実行→シェルAに戻る、という仕様ですが、このftpコマンドが成功したのか失敗したのかをプログラム上で判断する方法はありますでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
shogo0809さんの回答に便乗します。 実行ログをファイルに落としてgrepするのがよいと思います。 以前、似たような質問があったので 具体的な手順は参考URLのほうを見てはどうでしょうか? →シェルスクリプトでFTPの実行結果を取得するには
その他の回答 (3)
- tatsu99
- ベストアンサー率52% (391/751)
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
お礼
遅いレス申し訳ありません。 回答有難う御座いました。 今回はシェルスクリプトのみで切り抜けましたが、次回、機会があれば利用してみたいと思います。
- shogo0809
- ベストアンサー率47% (25/53)
編集中の内容で投稿しちゃいました。 > ftplog=`cat ファイルB | ftp は ftplog=`cat ファイルB | ftp [オプション]` > cat ファイルB | ftp > ファイルC は cat ファイルB | ftp [オプション] > ファイルC です。
- shogo0809
- ベストアンサー率47% (25/53)
「シェル」っていうのは「シェルスクリプト」ってことでいいですよね。 だとしたら、 ・出力を変数に代入してチェックする ・ftpコマンドの出力をファイルにリダイレクトして、その内容をチェックする あたりでしょうか。「成功」の条件がはっきりわからないのでこれぐらいしか言えませんが。 変数に代入するなら ftplog=`cat ファイルB | ftp で$ftplogに代入されますし、ファイルに保存するなら cat ファイルB | ftp > ファイルC として、ファイルCの内容をチェックすればよいと思います。
お礼
遅レスすみません。 回答有難う御座いました。 ftp xxx.xxx.xxx.xxx < FTPのコマンド一覧 > log.txt で出力された結果を、 | grep "226 Transfer complete." | wc -l` して、予めバックアップ対象ファイル数を代入した変数と突合せする事で対応しました。
お礼
遅レスすみません。 回答有難う御座いました。 回答頂いた内容とは少し異なりますが、同じ結果を利用させて頂きました。有難う御座いました。