
ある目的のためFTPサーバーが受け取ったファイルを受け取った直後に必要な処理をするため、処理をするプログラムを受け取ったファイルを引数にして起動したいのですが、具体的にどうすればいいのでしょうか?
現在その方法がわからないので、crontab を使ってFTPで受け取るディレクトリを監視し新しいファイルが出来てたら処理を開始しているのですが、FTPの受信かた直ちに処理を開始出来た方がいろいろ都合がよいのです。
なにか方法がありそうな気もするのですが、分かりませんでした。ご存知の方がおられましたらお教えください。
No.3ベストアンサー
- 回答日時:
そもそも
・正しくファイルが転送されて、かつ、正しくディスクにファイルが書き込まれた
っていう確証を得るのがFTPでは難しいと思うので私は、#1さんのおっしゃりように賛成です。
そんな訳で以下は上記を無視して都合のいいように転送と書き込みもろもろがうまく処理されている前提でのものです。ま、ただのアイデアですね。
1. ファイル監視のタイミングを短くする
cronから呼び出す(例えば)シェルスクリプトでループ処理とsleepを使えばすぐ出来ます。スクリプト自体も2重起動しないようにしておけばよりベターですね。「ファイルの監視処理が重い」とありますが(サーバスペックが分からないのでなんともいえませんが)やり方によってはそんなに重くないと思うんですけどねぇ。どうやって監視しているかによりますけど。
2. ファイルの存在ではなくてxferlog(当然転送処理を出力させる)を監視する
ログ監視プログラムは結構あります。Logsurferだったりswatchあたりが有名です。ログに特定のキーワードが出力されればコマンドを実行出来ます。しかし、常駐するものが増える点では同じですのでsyslogデーモンをsyslog-ng辺りに変えてしまうのもいいかもしれません。これはログの文言をトリガーにコマンドを実行出来ます。最近のディストリビューションでは含まれているものもありますね。あとswatchとかはログローテ時にはまる場合もあるんで注意が必要です。
3. まず許されてないんじゃないかと予想しますが相手にsshで入ってもらって処理をキック
不定期とはいえpushする側は転送処理の終了タイミングは分かるんですからお奨めなんですが。。。
プログラムを自作~とありますが、wrapperを作るぐらいならwu-ftpdのソースに手を入れて転送終了時に外部コマンドを実行するようにした方が断然楽だと思いますよ。
No.2
- 回答日時:
シェルでncftpgetなどコマンドラインftpで
受け取れば、時系列的な処理なので受け取った
あとに次の処理にうつりますね
サーバー側が常にファイルを監視する仕組みは
サーバーの負担も大きいでしょうし、あまり
実用的ではない気がします。
この回答への補足
ncftpge ってどんなものでしょうか?
現在の受信は xinetd を通して wu-ftpd で受信しています。送信側からは不定期に送られてきます。できるだけ早く結果を反映させたいので、1分ごとに crontab でファイルを監視しています。おっしゃるとおり、この処理は重いです。もし、wu-ftpd と同等、あるいはこれをラップしたようなシェルスクリプトがあれば、ちょっと手を加えればできそうな気がするのですが。
最後の手段としては inetd の仕組みを自分で勉強して、ftpd との橋渡しをするプログラムを自作するという手もあるかとも思いますが、もしすでに誰かが作られているのなら無駄になるので質問した次第です。
すいません、お礼ではなく補足の続きです。
いろいろ考えてみているのですが、ファイルを監視するより xferlog を監視する方が簡単そうですね。デーモンでこれをやるとして、最後に追加されたところを監視するにはどうしたらいいんでしょう? tail -f みたいに。
No.1
- 回答日時:
このような(ファイル受信後プログラムを起動するという)高度なファイル転送の仕組みには、ソリューションベンダー系のファイル転送プロダクトが必要になります。
例えばLinkExpress(富士通)やHULFTなどです。企業向けなので結構高いですね。
フリーで実現できるものは、ちょっと心当たりがないです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PDF 保存したPDFファイルが開けなくなり、困っています 1 2022/09/15 21:08
- サーバー Laravelをレンタルサーバーにインストールするにはどうすればいいですか? 2 2022/06/29 10:17
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- サーバー Googleドライブなどを使わずにテザリングAndroidでWindowsとファイル共有 1 2023/02/19 13:14
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) 【VBA】印刷マクロのループ処理が反映されません 3 2022/08/09 02:15
- フリーソフト .264という動画ファイル 2 2022/07/12 11:30
- サーバー FFFTPで特定サイトだけUploadできない 4 2022/08/27 14:53
- Excel(エクセル) エクセル 任意の列数で分割する方法 3 2022/07/31 14:58
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
http://○○○.jp/とアクセスがあ...
-
アップロード
-
JPEGからRAWデータへの変換に関...
-
パソコンを買ってから何かやら...
-
拡張子「KRF2」ファイル
-
添付ファイルの文字化け
-
ファイルをダウンロードした順...
-
C・Dドライブ全てをバックアッ...
-
onedrive を外出先(ネカフェ)で...
-
著作権法違反
-
Excelで勝手に保存画面に飛びま...
-
HPビルダーのサーバーからファ...
-
SONY ICカードリーダー RC-S330...
-
アンインストールしても削除出...
-
敬語 ダウンロードをして頂けます
-
拡張子datを解凍するにはどうし...
-
one drive の緑のチェック
-
システムファイルエラーについて
-
今iPhone用の壁紙をダウンロー...
-
SketchUp Freeのダウンロードの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
robocopyでファイルがあるのに...
-
FTPに接続し、 あるフォルダ内...
-
ファイルの作成・更新日時が200...
-
win2008serverでaspxを表示させ...
-
Apache2.2.6にてBasic認証の設定
-
FTP受信直後に受け取ったファイ...
-
FTPで見えるファイルと見えない...
-
シェルでftp接続によるファイル...
-
バッチファイルでフォルダ内の...
-
floatで保存したRAWファイルをI...
-
読み取り専用ファイルとして認...
-
WinSCPを使ってgetし、ローカル...
-
??!エクスプローラが異常終...
-
ApacheでSorryサーバを作りたい
-
expectでscpのパスフレーズ入力...
-
tftpというものを体験したい。
-
FFFTPで属性変更できない(Fedr...
-
ファイルが見つからないとエラー
-
rsyncでバックアップしたLinux...
-
MacOSエラー -50
おすすめ情報