■掲示板に戻る■ 全部 1- 最新50

ftpの成否を判別する方法ありますか?

1 :おたま :2001/07/23(月) 14:15
毎日生成されるLogファイルをBackupサーバーへ、ファイル転送成功ならばrmし、失敗ならばrmせずに管理者にmailする、という処理を書こうとしてます。
Script実行中にサブコマンド(cd、prompt、mput、quit等)を一時ファイルに書き込んで自動実行させます。
最初、$?で簡単に条件分岐できる、と思っていましたが、それ以前のサブコマンドの成否にかかわらずquitで抜けた時常に$?=0をかえすので、その方法では駄目だ、という事が分かりました。
ftpの転送処理(put、mput、get、mget等)の部分に関する成否だけでも取得する、何か良い方法はありませんでしょうか?

2 :名無しさん@お腹いっぱい。 :2001/07/23(月) 14:29
Perl使え

==終了==

3 :名有りさん@お腹へった :2001/07/23(月) 14:32
>>1
どうしてもftp使うのなら ftpの出力する文字列を判別して
ファイル転送が成功したかエラーになったかを判断することに
なるんでしょう

でも オレならこういう場合はftpなんか使わずにscp使うと
思うけどなぁ シェルスクリプトでの処理ならこの方が
絶対簡単だと思うし

4 :名無しさん@お腹いっぱい。 :2001/07/23(月) 14:42
なあ、Perlで5分出かける処理をなんでわざわざシェルスクリプト
にして苦しんでるんだ?

5 :名無しさん@お腹いっぱい。 :2001/07/23(月) 14:47
なあ、なんでシェルスクリプトで書ける処理をわざわざ
perlで書くんだ

6 :名無しさん@お腹いっぱい。 :2001/07/23(月) 14:49
>>5
そりゃ、あんたシェルスクリプトよりPerlの方が便利だからだろ。。
シェルスクリプトじゃ自由度低すぎて、再利用もしにくいし、
もうちょいましな処理させたくなった時苦労するし。

って、そんなこともわからんのか。。。夏厨多すぎ。

7 :名無しさん@お腹いっぱい。 :2001/07/23(月) 14:51
>>5

その方が手間がかからないから。
顧客からの要求でもない限り、
自分が楽に記述できる言語で書くだろ。

8 :名無しさん@お腹いっぱい。 :2001/07/23(月) 17:29
使い分けできないやつが糞

9 :おたま :2001/07/23(月) 20:46
Target machine=Backup serverがW2KのFTP serviceしか上がってないんです。
scpはTarget、Source双方にsshがインストされてないとだから、この場合駄目かな、と思います。
Perlは全然知らないのでこれから勉強しますが、こんな場合でも大丈夫でしょうか?
それともやはり、
> ftpの出力する文字列を判別して
> ファイル転送が成功したかエラーになったかを判断
しか方法は無いでしょうか?

>>3
この場合って、
ftp$ls hogehoge > gehogeho
ってやるんですよね?

10 :#6411 :2001/07/23(月) 20:49
FreeBSDだと、libfetchってのがあるみたいね。
ほかのBSDにあるかどうかは未確認。(BSDIにはない模様)
man 3 fetch

11 :名無しさん@お腹いっぱい。 :2001/07/23(月) 20:54
Net::FTP っていうモジュールがあったような。

12 :3 :2001/07/23(月) 21:03
>>9
Cygwin版のOpenSSHあるの知ってます?
それを入れてsshd走らせておけばいいのでわ?
http://www.cygwin.com/

シェルスクリプトからftp呼び出す方法でやりたいのなら 例えば

nfiles=`ftp -i <ftpscript 2>&1 | fgrep 'Transfer complete.' | wc -l`

で転送できたファイル数が得られるだろうから これで判断するとか
すれば?

13 :3 :2001/07/23(月) 21:22
nfiles=`ftp -iv <ftpscript 2>&1 | fgrep 'Transfer complete.' | wc -l`

ぢゃないとマズいかも......スマソ

あと,~/.netrc ちゅうのは知ってますね?

14 :名無しさん@お腹いっぱい。 :2001/07/23(月) 21:30
#!perl
use Net::FTP;
use strict;

sub assert { die "$@\nitteyosi" if not $_[0]; }

my $conn;
assert($conn = Net::FTP->new("windows"));
assert($conn->login("nanasisan", "hiroyukimansee"));
assert($conn->put("logfile", time().".log"));
$conn->quit;

15 :名無しさん@お腹いっぱい。 :2001/07/23(月) 22:39
>>1
昔、そんな処理を perl で書いたことある。
でも、今は ncftp に入ってる ncftpput の -DD オプションが
もろ解答と思われ。

16 :名無しさん@お腹いっぱい。 :2001/07/23(月) 22:44
なんで sh やら perl やらという話になるのかさっぱり
わからん。sh でも perl でもやることは一緒だろ?

俺なら put して、size でファイルサイズ取って、
全部転送できたかどうか比較。

それでも心配なら (ftp(1), ftpd(8) や TCP/IP まで信用
できないなら) put したものを get して、cmp(1) すれ。

>>14
assert の意味を理解してないと思われ。

単体テストが終わったらチェック自体をなくしてもよい
場合に assert するんだぜ? 実運用でも必要なチェックを
assert とは言わない。

17 :名無しさん@お腹いっぱい。 :2001/07/23(月) 22:50
テープに取って手で運びなさい

18 :名無しさん@お腹いっぱい。 :2001/07/23(月) 23:08
Ruby信者出てこい。

19 :名無しさん@お腹いっぱい。 :2001/07/24(火) 01:27
信者とは失敬な

20 :名無しさん@お腹いっぱい。 :2001/07/24(火) 01:45
マイナーなものは大抵宗教にされてしまう法則。

21 :名無しさん@お腹いっぱい。 :2001/07/24(火) 01:53
FreeBSD原理主義者といっしょにしないでくれ

22 :#6411 :2001/07/24(火) 01:57
みんな、心に宗教を持て。
(でも、押しつけないでね。)

23 :名無しさん@お腹いっぱい。 :2001/07/24(火) 03:10
>>22
FreeBSD「原理主義者」と言われる所以に、「押し付ける」という傾向がある。ゆえに「原理主義者」と言われている。

24 :Solaris :2001/07/24(火) 18:01
http://www.himawari.sakura.ne.jp/%7Eloveseat/index.html

25 :名無しさん@お腹いっぱい。 :2001/07/24(火) 18:05
押しつけなくていいところがBSDライセンスなんだけどねー。

26 :名無しさん@お腹いっぱい。 :2001/07/24(火) 18:35
>>16
オレなら cmp なんかしないで md5sum を比較するが。
chksum でもいいかもしれない。

27 :名無しさん@お腹いっぱい。 :2001/07/24(火) 18:38
ncftpget だとプロセス終了コードで成功したかどうかわかるね。

28 :16 :2001/07/24(火) 20:06
>>26
あれれ、なぜにチェックサムで済ませようとするの?

そっちの方が軽いとも思えんのだがなぁ。

29 :名無しさん@お腹いっぱい。 :2001/07/24(火) 20:37
>>23
押しつけるのは Linux のほうだろう。

それだけならともかく、なぜネガティブキャンペーンまでやるかな。
長年迷惑してるんだけど。

30 :名無しさん@お腹いっぱい。 :2001/07/25(水) 00:56
>>29
ircnetでも職場でもことあるごとに「だからLinuxださいんだよな」とかもう聞き飽きているし、OS選定の話になると適合性を無視してFreeBSDとわめきたてて、いざ動かそうとすると「最近のハードウエアはUNIXの事を考えて作っていない」だもの。FreeBSDに罪はないさ。FreeBSD原理主義者は悪そのもの。

31 :名無しさん@お腹いっぱい。 :2001/07/25(水) 00:58
FreeBSDに対して、徹底的にネガティブな感情しかもてないのはさ、ほんのごく一部の原理主義者(筆頭 hubard)がネガティブキャンペーンを展開しているのをコミュニティが容認しているからさ。コーランにもあるだろう。目には目を、歯には歯を。

32 :名無しさん@お腹いっぱい。 :2001/07/25(水) 00:59
人を憎んでOSを憎まず。

33 :名無しさん@お腹いっぱい。 :2001/07/25(水) 01:00
FreeBSD原理にはこうある。

「都合の悪い事があれば、自分の責任とせず、他者を貶めよ」

34 :33 :2001/07/25(水) 01:03
これはFreeBSDユーザー15名を見て、共通して感じる印象だ。

例えばWindowsに関してど素人であるにも関わらず、セキュリティホール情報が流れると嬉々としてその情報をぶちまけるが、その後でパッチ情報を供給するといったフォローはまるでやらない。この板にもそんな奴がいっぱいいるよな。

35 :名無しさん@お腹いっぱい。 :2001/07/25(水) 01:05
Jordan K. HubbardはBill Gates 3rdと名を改めるべきだ

36 :名無しさん@お腹いっぱい。 :2001/07/25(水) 01:17
>>29
んでよ。FreeBSDを使う限り永遠に迷惑してくれたまえ。FreeBSD原理主義者どもの始末に悪い事の数々の恨みを考えれば、ざまぁみろって気分だ。自業自得 :p 日ごろの行いの報い。

37 :名無しさん@お腹いっぱい。 :2001/07/25(水) 01:18
FreeBSDを選択した事が既に罪なのだよ。

38 :名無しさん@お腹いっぱい。 :2001/07/25(水) 01:25
この手の話ちょっと興味あるなぁ

39 :名無しさん@お腹いっぱい。 :2001/07/25(水) 01:44
Linux板に出張あらしやめろよ>FreeBSD原理主義者

40 :名無しさん@お腹いっぱい。 :2001/07/25(水) 01:44
> 例えばWindowsに関してど素人であるにも関わらず、セキュリティホール情報
> が流れると嬉々としてその情報をぶちまけるが、その後でパッチ情報を供給す
> るといったフォローはまるでやらない

そうか? 「セキュリティホール memo」では、ちゃんとパッチ情報をフォロー
しているぞ。あの作者がメインに使っている OS は FreeBSD の筈ダ。
というわけで、反例その1。

というか、上の記述に当てはまるユーザーって FreeBSD に限らず、例えば
Linux ユーザーでも一杯いると思うんだが (Linux JAPAN でそういう連載
している人までいますな)、なんで FreeBSD ユーザーだけとりあげるんじゃろ。
キミ、別の理由があるね。

41 :名無しさん@お腹いっぱい。 :2001/07/25(水) 01:45
>>40
全然反例になっていない。セキュリティホールメモの人は、あらゆるOSに精通している方だ。彼はFreeBSD原理主義者ではない。

42 :名無しさん@お腹いっぱい。 :2001/07/25(水) 01:46
>>40
貴方には彼との面識があるかね?私にはあるが。

43 :名無しさん@お腹いっぱい。 :2001/07/25(水) 01:47
> FreeBSDに対して、徹底的にネガティブな感情しかもてないのはさ、ほんのご
> く一部の原理主義者(筆頭 hubard)がネガティブキャンペーンを展開している
> のをコミュニティが容認しているからさ。

jkh のネガティブキャンペーンって何のことだ? たいしたことは言ってない
と思うが。
それより、slashdot.org あたりに出てくる Linux ユーザーの、Linux 以外の
OS 全てに対するネガティブキャンペーンの方がよっぽどひどいね。

44 :名無しさん@お腹いっぱい。 :2001/07/25(水) 01:47
>>43
slashdotはLinuxコミュニティではない。
あれは便所の落書きである。

45 :名無しさん@お腹いっぱい。 :2001/07/25(水) 01:48
>>43
ふーん、NetBSDのmlにわざわざ乗り込んで、vmをけなして帰っていったぜ。jkhのバカタレは。あれをもってしてネガティブキャンペーン以外に何と言うかね。おまけにしつこい粘着野郎だ。

46 :名無しさん@お腹いっぱい。 :2001/07/25(水) 01:50
便所の落書き=SlashdotをもってしてLinuxというか。相変わらずFreeBSD原理主義者のネガティブキャンペーンはえげつないな。

47 :NetBSD ユーザー :2001/07/25(水) 01:57
> ふーん、NetBSDのmlにわざわざ乗り込んで、vmをけなして帰っていったぜ。
> jkhのバカタレは。あれをもってしてネガティブキャンペーン以外に何と言う
> かね。おまけにしつこい粘着野郎だ。

おかしいな記憶にないぞ (と書くと、ある程度身元がバレるな。まずい…)。
mail-index.netbsd.org あたりへのリンクで、どのメールか指摘してくれたまえ。

記憶にある限りでは、jkh はたいした発言はしとらんよ。

48 :名無しさん@お腹いっぱい。 :2001/07/25(水) 01:57
Linux板での出張あらし有難う。おかげですげー迷惑だ>FreeBSD原理主義者

49 :名無しさん@お腹いっぱい。 :2001/07/25(水) 01:58
>>47
面倒臭い。hubbardでgrepすりゃ出てくるだろう。

50 :名無しさん@お腹いっぱい。 :2001/07/25(水) 02:00
たいした発言はしてないように見えるだけ。裏で「jkhは無視しろ、あれはキチガイだ」という事で流されただけだよ。原理主義者の名を冠されたのも、その事件があってこそだ。

51 :43 == 47 :2001/07/25(水) 02:09
> 便所の落書き=SlashdotをもってしてLinuxというか。相変わらずFreeBSD原理
> 主義者のネガティブキャンペーンはえげつないな。

あの〜、私、NetBSD ユーザーなんですがぁ… ^^;
気に食わない人物は、全て FreeBSD 原理主義者なのかな。

> 面倒臭い。hubbardでgrepすりゃ出てくるだろう

一応 grep してみたが、少なくとも VM に関する話は出てこなかったな。
なんか、根本的に記憶違いでもしてるんじゃないの? John Dyson の
件と混同しているとか?

52 :名無しさん@お腹いっぱい。 :2001/07/25(水) 02:10
>>51
いや、slashdotみたいな程度の低い物を例にしてlinuxのことを言われてムカついた。

53 :名無しさん@お腹いっぱい。 :2001/07/25(水) 02:14
>気に食わない人物は、全て FreeBSD 原理主義者なのかな。

違う。例えば、hddの故障があって、それでsystemが落ちた。すると「だからLinuxは信用できん」。こういう事を言う連中は、どういう訳か必ずFreeBSD信奉者である。例外がない。
Windowsユーザーとも違う。Windowsユーザーの場合は自分が使っているOSが信用ならんからと言い訳をする。他のOSを引き合いにすることはあまりない。
Mac信奉者の場合、障害があってもそういうものだという。これはこれでキレるが、そういう文化だから仕方あるまい。

えてして、都合の悪い事があると他のものになすりつける。こういう傾向をもつものはどうしてもFreeBSD原理主義者と疑いたくなるのだ。そういう連中があまりにも多すぎるから。

54 :名無しさん@お腹いっぱい。 :2001/07/25(水) 02:14
itojunさんこんばんわ。
BSDMagの原稿まだです?

55 :43 == 47 == 51 :2001/07/25(水) 02:21
> 違う。例えば、hddの故障があって、それでsystemが落ちた。すると「だから
> Linuxは信用できん」。こういう事を言う連中は、どういう訳か必ずFreeBSD信
> 奉者である。例外がない。

ふーん、ここに例外がいるぞ。NetBSD ユーザーだが、ファイルサーバーには
決して ext2fs は使わないな。信用できないからな。

Linux HOWTO の ext2fs と ffs の比較には、あまりにひどい嘘 (ファイルシステム
に関する知識があれば、すぐ分かる) が書いてあるしな。
ああいう間違いが、全く訂正されることなく、公式に流通し続けているという意味で、
Linux 原理主義者の方が、罪が思いと思うな。


続きを読む

掲示板に戻る 全部 次100 最新50
名前: E-mail (省略可) :

read.cgi ver5.26+ (01/10/21-)