[過去ログ] 花子 ★と花代 ★の秘密の花園4 (1001レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
29
(1): マァヴ ◆jxAYUMI09s 2008/10/24(金) 15:46:11 ID:RrB8QqMm0(17/64)調 BE AA×

30: マァヴ ◆jxAYUMI09s 2008/10/24(金) 15:46:53 ID:RrB8QqMm0(18/64)調 BE AAS
>28
ほうほう(^_^;)そこでdaemontoolsが出てくるのか!
まずは手動で動くものを作るー
31
(1): 28 2008/10/24(金) 16:04:43 ID:vMVWqA7m0(3/9)調 AAS
ごめ、ちょっと違うかも
daemontools
外部リンク[html]:www.emaillab.org
superviseは指定したプログラムを起動・監視・終了とかさせるものらしい
daemon化させるためのツールですな

そのなかにこんなの発見 使えそうな予感
The setuidgid program
外部リンク[html]:www.emaillab.org
> setuidgid は明記されたアカウントの uid と gid で別のプログラムを起動します。
rootから子プロセスを指定されたアカウントで実行するものらすい
> setuidgid は root 以外では動かせません。
32: 動け動けウゴウゴ2ちゃんねる 2008/10/24(金) 16:09:04 ID:JGievMm90(4/20)調 AAS
>>29
>>18でやった事の応用で済むね。
33: 動け動けウゴウゴ2ちゃんねる 2008/10/24(金) 16:10:14 ID:JGievMm90(5/20)調 AAS
× 18  ○ >>13
34
(1): 動け動けウゴウゴ2ちゃんねる 2008/10/24(金) 16:21:43 ID:JGievMm90(6/20)調 AAS
>>31
前スレでも書いたけど、それ使うなら
スーパーバイザー→指令→親プロセスA(起動時以降はデーモン)→チャイルドB1,B2...生成→.....
の流れだと思うんだけど、
httpdからのチャイルド生成を目指している(?)ようなので、どうかなあ。
35
(1): 動け動けウゴウゴ2ちゃんねる 2008/10/24(金) 16:28:52 ID:vMVWqA7m0(4/9)調 AAS
>>34
>>24を見るかぎり、p2をroot権限でdaemon化しておいてp3を起動するのにsetuidgidが使えるんじゃないかと思ったんだけど
p1はトリガファイル作る程度だからroot権限なんていらないし
36: 動け動けウゴウゴ2ちゃんねる 2008/10/24(金) 16:41:04 ID:JGievMm90(7/20)調 AAS
>>35
・前スレ>>990-991で、書かれてた事、
・今回ファイルに書き込めたのはroot権限で動作させた(p1の動作です)

を見ると、どうなのかな? と思ったのですよ。
37
(1): ピロリ 2008/10/24(金) 16:46:25 ID:6Yk/gpUK0(1/9)調 AAS
>>23
各アカウントには書き出さないでくれ〜
38
(1): ピロリ 2008/10/24(金) 16:47:13 ID:6Yk/gpUK0(2/9)調 AAS
テストだけならいいような気もするけど
テスト用のアカウントを作ればいいでしょ
39
(3): ピロリ 2008/10/24(金) 17:00:10 ID:6Yk/gpUK0(3/9)調 AAS
1)の起動時に行われる作業

1-a)
全てのアカウントに対して行う。
制御用アカウントに
public_html/.htaccess
public_html/test/.htaccess
public_html/test/read.cgi 等 (*.so offlaw* read.cgi)
を用意しておく
/md/tmp/public_html に全てをコピー

全てのアカウントの以上のファイルを消去
シンボリックリンクにする
例) public_html/test/read,cgi -> /md/tmp/public_html/test/read.cgi
懸念は広告ファイルはどうなるか・・・
同じ場所に入れなきゃだよなぁ、たぶん
過去ログ倉庫用の広告ファイル(中身は好きに作ってネ)も
/md/tmp/public_html 配下にネ

1-b)
全てのアカウントに対して行う。
アカウント配下のすべての板に対して行う。
public_html/siberia/i/ をディレクトリごとしょうきょ(rm -rf siberia/i/)
/md/ch2xxxx/siberia/i/ を作成
んでシンボリックリンク
public_html/siberia/i/ -> /md/ch2xxxx/siberia/i/
懸念は、mdの容量問題っすね

これで1)は完成
2) は /md/ch2xxxx/siberia/i/ の中の古いファイル(N日たったファイル)を消す
ただし 呼ばれたら 一アカウントの一板のを消すだけ、次に呼ばれたら
その次をやる、呼ばれるのは M分おき。
40
(1): ピロリ 2008/10/24(金) 17:01:13 ID:6Yk/gpUK0(4/9)調 AAS
>>37
>>38
のように今回作るスクリプトでは各アカウントに書き込みはご法度。
41: 動け動けウゴウゴ2ちゃんねる 2008/10/24(金) 17:07:35 ID:JGievMm90(8/20)調 AAS
>>40
要は、
・収集は各アカウントの情報
・収集した情報は、収集用の専用アカウントに書き込む

と言う事?
42: ピロリ 2008/10/24(金) 17:11:25 ID:6Yk/gpUK0(5/9)調 AAS
んだんだ
43: マァヴ ◆jxAYUMI09s 2008/10/24(金) 17:12:22 ID:RrB8QqMm0(19/64)調 BE AAS
ぅぃぅぃ(^_^;)了解
書きだすのは実験用のアカウント作って検証する。
44: 動け動けウゴウゴ2ちゃんねる 2008/10/24(金) 17:12:34 ID:h7TPz9CUP(6/10)調 BE AAS
あーなるほど、まとめる訳か。
45
(1): ピロリ 2008/10/24(金) 17:14:29 ID:6Yk/gpUK0(6/9)調 AAS
アパッチのログもまとめたいが
それは次ですな、
46: マァヴ ◆jxAYUMI09s 2008/10/24(金) 17:18:46 ID:RrB8QqMm0(20/64)調 BE AAS
>39
1)は/etc/rc.localから起動しよう(^_^;)そうしよう
47: 動け動けウゴウゴ2ちゃんねる 2008/10/24(金) 17:19:15 ID:JGievMm90(9/20)調 AAS
Apacheの各種logをまとめちゃうと、容量が怖くなってくる気がする
(現状知らないけど)
48: マァヴ ◆jxAYUMI09s 2008/10/24(金) 17:23:20 ID:RrB8QqMm0(21/64)調 BE AAS
んで2)の仕組みは、もっといい方法が見つかるまでは
>24の方式でやることにしよう(^_^;)
49: マァヴ ◆jxAYUMI09s 2008/10/24(金) 17:40:00 ID:RrB8QqMm0(22/64)調 BE AAS
制御用アカウントに  
public_html/.htaccess
public_html/test/.htaccess
public_html/test/read.cgi 等 (*.so offlaw* read.cgi)
を用意しておく

これをやっておこう(^_^;)aiai.tarを解凍する
50
(3): マァヴ ◆jxAYUMI09s 2008/10/24(金) 17:47:32 ID:RrB8QqMm0(23/64)調 BE AAS
んじゃいよいよプログラムです(^_^;)
まず最初に、全てのアカウントに対して作業を行う・・・・んだから
全てのアカウントのリストがほしい・・・・
配列っつーんだっけ?(^_^;)それに入れとけば
何度でもそのリストを元に作業ができるんだよね?
51: マァヴ ◆jxAYUMI09s 2008/10/24(金) 17:55:55 ID:RrB8QqMm0(24/64)調 BE AAS
で、アカウントのリストは、ls -1 /md/ch2*で取得できるはず(^_^;)
52
(1): 動け動けウゴウゴ2ちゃんねる 2008/10/24(金) 18:11:36 ID:JGievMm90(10/20)調 AAS
>>50
急ぎ作業ではないなら、
@dog、$cat、$cat[esa]、$cat[esa][karikari] 等
ポインタと呼ばれる事を今のうちに覚えたほうが今後楽になるかもしれません。
53: 動け動けウゴウゴ2ちゃんねる 2008/10/24(金) 18:12:05 ID:gtuOGIns0(1/6)調 AAS
>>50
プログラム中に埋め込むの?テキストとして別で保存しとく?

リダイレクトでテキストに出して、それを読み込むの方が簡単かも。

$a 変数。 $a = "マァヴ";
@data 配列。各要素へのアクセスは $data[0] , $data[1] ,$data[2], ・・・
@data = ( "マァヴ1号" , "マァヴ2号" , "マァヴ3号");
$data[0] の中身は "マァヴ1号" になる。
54: 動け動けウゴウゴ2ちゃんねる 2008/10/24(金) 18:12:41 ID:JGievMm90(11/20)調 AAS
あくまで例えの変数名ですので。
55
(1): マァヴ ◆jxAYUMI09s 2008/10/24(金) 18:16:14 ID:RrB8QqMm0(25/64)調 BE AAS
#!/usr/bin/perl -w

#アカウントリストを作る
opendir(MD, /md);
@ServerList = readdir(MD);
closedir(md);

#できあがったリストを確認のため出力
print "Content-type: text/html\n\n";
for $TgtServer (@ServerList) {
print "$TgtServer\n;"
}

これで、/mdにあるディレクトリのリストが表示されても不思議はない(^_^;)はず
56: ピロリ 2008/10/24(金) 18:18:02 ID:6Yk/gpUK0(7/9)調 AAS
<^_^;>
57
(1): マァヴ ◆jxAYUMI09s 2008/10/24(金) 18:19:05 ID:RrB8QqMm0(26/64)調 BE AAS
>52
ぅぃぅぃ(^_^;)それが活躍しそうなところに来たら
「今だ」と指摘よろしく〜

なんせ、初めてのperlっつーかプログラムな状況ですぜ〜

>50
環境依存ではあるけど、/mdのch2で始まるディレクトリが
サーバのリストになるので、起動時に取得する方向で考えてます(^_^;)
58
(1): 2008/10/24(金) 18:19:34 ID:gtuOGIns0(2/6)調 AAS
がーん><

closedir(md);

  ↓

closedir(MD);
59
(1): 動け動けウゴウゴ2ちゃんねる 2008/10/24(金) 18:21:36 ID:JGievMm90(12/20)調 AAS
for $TgtServer (@ServerList) { 

$TgtServerには何が入っていますか?
初期化しましたか?
60
(1): マァヴ ◆jxAYUMI09s 2008/10/24(金) 18:23:29 ID:RrB8QqMm0(27/64)調 BE AAS
>55
わずかこれだけのプログラムで19行ものエラーを吐かれたよ(^_^;)
61: マァヴ ◆jxAYUMI09s 2008/10/24(金) 18:24:44 ID:RrB8QqMm0(28/64)調 BE AAS
>59
初期化?(^_^;)ってどうやるの?
62: マァヴ ◆jxAYUMI09s 2008/10/24(金) 18:25:13 ID:RrB8QqMm0(29/64)調 BE AAS
>58
おお(^_^;)直した
63
(2): 2008/10/24(金) 18:26:06 ID:gtuOGIns0(3/6)調 AAS
>>57
なるほろほろ

んじゃch2以外のものもある場合は

print "$TgtServer\n;"
の部分を

if ( $TgtServer =~ /^ch2/) print "$TgtServer\n;"

とするといいかも。

ch2しかないなら不要です。

あと for じゃなくて foreach ね。
64
(1): マァヴ ◆jxAYUMI09s 2008/10/24(金) 18:27:59 ID:RrB8QqMm0(30/64)調 BE AAS
#!/usr/bin/perl -w

#アカウントリストを作る
opendir(MD, /md);
@ServerList = readdir(MD);
closedir(MD);

#できあがったリストを確認のため出力
print "Content-type: text/html\n\n";
$TgtServer = 0;
for $TgtServer (@ServerList) {
print "$TgtServer\n;"
}

>63
これが動いたらやってみる(^_^;)
まずはここまでを動かしたい〜
65
(1): 動け動けウゴウゴ2ちゃんねる 2008/10/24(金) 18:29:05 ID:JGievMm90(13/20)調 AAS
>>60
@ServerList には”.”、”..”を含めたリストが入っていると思います。
で、$TgtServer には、何を入れたいかがわかりません。

もし、@ServerList の上から順に入れてfor文を回すのなら、完全に間違いです。
66: 2008/10/24(金) 18:31:02 ID:gtuOGIns0(4/6)調 AAS
>>64
いや、これはやって。
  ↓
for じゃなくて foreach。

forだと構文エラーです。

foreach $TgtServer (@ServerList) {
67
(1): マァヴ ◆jxAYUMI09s 2008/10/24(金) 18:34:19 ID:RrB8QqMm0(31/64)調 BE AAS
>65
えーっと(^_^;)
>@ServerList には”.”、”..”を含めたリストが入っていると思います。
はい(^_^;)入っていても不思議はないです。

>で、$TgtServer には、何を入れたいかがわかりません。
$TgtServerには、@ServerListの最初から1つずつ
要素を入れたいわけです(^_^;)
具体的には
@ServerListに/mdのファイルリストが入っているので
そこから$TgtServerに1つ取り出しては、printする・・・・と(^_^;)
68
(1): 2008/10/24(金) 18:35:51 ID:gtuOGIns0(5/6)調 AAS
>>67
>print "$TgtServer\n;"

行末の ; の位置が・・・。
69: マァヴ ◆jxAYUMI09s 2008/10/24(金) 18:36:37 ID:RrB8QqMm0(32/64)調 BE AAS
#!/usr/bin/perl -w

#アカウントリストを作る
opendir(MD, /md);
@ServerList = readdir(MD);
closedir(MD);

#できあがったリストを確認のため出力
print "Content-type: text/html\n\n";
$TgtServer = 0;
foreach $TgtServer (@ServerList) {
print ("$TgtServer\n");
}

としてみた(^_^;)
70: マァヴ ◆jxAYUMI09s 2008/10/24(金) 18:37:02 ID:RrB8QqMm0(33/64)調 BE AAS
>68(^_^;)
71: マァヴ ◆jxAYUMI09s 2008/10/24(金) 18:38:46 ID:RrB8QqMm0(34/64)調 BE AAS
エラーは19行から22行に増えてます(^_^;)
Possible unintended interpolation of @ServerList in string at ./dotabata.cgi line 4.
Bareword found where operator expected at ./dotabata.cgi line 9, near "print "Content-type: text/html"
(Might be a runaway multi-line // string starting on line 4)
(Do you need to predeclare print?)
Unquoted string "html" may clash with future reserved word at ./dotabata.cgi line 9.
Backslash found where operator expected at ./dotabata.cgi line 9, near "html\"
Unquoted string "n" may clash with future reserved word at ./dotabata.cgi line 9.
Backslash found where operator expected at ./dotabata.cgi line 9, near "n\"
Unquoted string "n" may clash with future reserved word at ./dotabata.cgi line 9.
String found where operator expected at ./dotabata.cgi line 12, near "print (""
(Might be a runaway multi-line "" string starting on line 9)
(Missing semicolon on previous line?)
Scalar found where operator expected at ./dotabata.cgi line 12, near "print ("$TgtServer"
(Do you need to predeclare print?)
Backslash found where operator expected at ./dotabata.cgi line 12, near "$TgtServer\"
(Missing operator before \?)
Unquoted string "n" may clash with future reserved word at ./dotabata.cgi line 12.
String found where operator expected at ./dotabata.cgi line 12, at end of line
(Missing semicolon on previous line?)
syntax error at ./dotabata.cgi line 9, near "print "Content-type: text/html"
Can't find string terminator '"' anywhere before EOF at ./dotabata.cgi line 12.
ulahana301@banana3174:~/public_html$ cat ./dotabata.cgi
72: マァヴ ◆jxAYUMI09s 2008/10/24(金) 18:41:41 ID:RrB8QqMm0(35/64)調 BE AAS
こ、こうか?(^_^;)

#!/usr/bin/perl -w

#アカウントリストを作る
opendir(MD,"/md");
@ServerList = readdir(MD);
closedir(MD);

#できあがったリストを確認のため出力
print "Content-type: text/html\n\n";
$TgtServer = 0;
foreach $TgtServer (@ServerList) {
print ("$TgtServer\n");
}
73
(1): マァヴ ◆jxAYUMI09s 2008/10/24(金) 18:43:21 ID:RrB8QqMm0(36/64)調 BE AAS
できたー(^_^;)っ外部リンク[cgi]:hana301.ula.cc
原因はdiropenするときのディレクトリを""でかこってなかった・・・・でした(^_^;)
74: マァヴ ◆jxAYUMI09s 2008/10/24(金) 18:45:44 ID:RrB8QqMm0(37/64)調 BE AAS
>63を入れてみる(^_^;)
;の場所注意
75: 2008/10/24(金) 18:47:56 ID:gtuOGIns0(6/6)調 AAS
♪♪♪

んで、一応書いておこう。

>@ServerList には”.”、”..”を含めたリストが入っていると思います。
ってことなので

ch2以外のディレクトリが存在するなら
foreach $TgtServer (@ServerList) {
if ( $TgtServer =~ /^ch2/) { print "$TgtServer\n"; }
}

存在しないなら
foreach $TgtServer (@ServerList) {
if($TgtServer eq "."){ next; }
if($TgtServer eq ".."){ next; }
print "$TgtServer\n";
}

# $TgtServer = 0;はいらないですー

>>73
見れないけどうまく行ったのかな?
2ch板:_500
ここに飛ばされる
76
(1): マァヴ ◆jxAYUMI09s 2008/10/24(金) 18:51:33 ID:RrB8QqMm0(38/64)調 BE AAS
#!/usr/bin/perl -w

#アカウントリストを作る
opendir(MD,"/md");
@ServerList = readdir(MD);
closedir(MD);

#できあがったリストを確認のため出力
print "Content-type: text/html\n\n";
$TgtServer = 0;
foreach $TgtServer (@ServerList) {
if ( $TgtServer =~ /^ch2/) {
print ("$TgtServer\n");
}
}

動いた(^_^;)っ外部リンク[cgi]:hana301.ula.cc
77: マァヴ ◆jxAYUMI09s 2008/10/24(金) 18:53:03 ID:RrB8QqMm0(39/64)調 BE AAS
んじゃこれを再度配列に入れる・・・・と(^_^;)
78: マァヴ ◆jxAYUMI09s 2008/10/24(金) 18:57:30 ID:RrB8QqMm0(40/64)調 BE AAS
#!/usr/bin/perl -w

#アカウントリストを作る
opendir(MD,"/md");
@DirList = readdir(MD);
closedir(MD);

#できあがったリストを確認のため出力
print "Content-type: text/html\n\n";
$num = 0;
foreach $TgtServer (@DirList) {
if ( $TgtServer =~ /^ch2/) {
@ServerList[$num] = $TgtServer;
$num ++;
}
}

foreach $TgtServer (@ServerList) {
if ( $TgtServer =~ /^ch2/) {
print ("$TgtServer\n");
}
}

こんな感じでどうだろう?(^_^;)
79: マァヴ ◆jxAYUMI09s 2008/10/24(金) 18:58:09 ID:RrB8QqMm0(41/64)調 BE AAS
配列の場所って、0から始まるの?(^_^;)それとも1から始まるの?
80
(2): 動け動けウゴウゴ2ちゃんねる 2008/10/24(金) 19:00:01 ID:JGievMm90(14/20)調 AAS
@jx = split(/\n/, $TgtServer);

でいけるとおもうけど。

perlスクリプトは0から始まります
81: マァヴ ◆jxAYUMI09s 2008/10/24(金) 19:01:12 ID:RrB8QqMm0(42/64)調 BE AAS
あれ?(^_^;)おいらはなんかわかってない(当然だけど)のかな?
Scalar value @ServerList[$num] better written as $ServerList[$num] at ./dotabata.cgi line 13.
と言われた。
@ServerList[$num]と$ServerList[$num]は同じものを指してるのか?(^_^;)
つか、出力見たら$ServerList[$num]にどんどん入れていくと
@ServerListの配列に入ってるわけだが(^_^;)
82
(1): マァヴ ◆jxAYUMI09s 2008/10/24(金) 19:05:37 ID:RrB8QqMm0(43/64)調 BE AAS
>80
えーっとここでは(^_^;)$TgtServerには1個しか要素がなくて
それはたとえばこの場合 ch2tmp7 とかってのじゃないの?(^_^;)
83
(1): 動け動けウゴウゴ2ちゃんねる 2008/10/24(金) 19:06:14 ID:h7TPz9CUP(7/10)調 BE AAS
@ServerListに再度いれるなら初期化しないと遺憾のじゃね?
84: マァヴ ◆jxAYUMI09s 2008/10/24(金) 19:07:41 ID:RrB8QqMm0(44/64)調 BE AAS
>83
あ、最初に入れる配列は@DirListという名前に変えました(^_^;)
$TgtServerは再利用するけど、いきなり代入されるんでいいかなーとか。
85
(1): 動け動けウゴウゴ2ちゃんねる 2008/10/24(金) 19:10:10 ID:JGievMm90(15/20)調 AAS
>>82
foreachで@ServerListの内容をベタで $TgtServerに入れ込んだわけですよね。\nも含めて。

>>80の意味は、@jxに $TgtServerのを\n除いて配列に格納すると言う意味。
86: マァヴ ◆jxAYUMI09s 2008/10/24(金) 19:11:05 ID:RrB8QqMm0(45/64)調 BE AAS
なにはともあれ、perlさんが
Scalar value @ServerList[$num] better written as $ServerList[$num] at ./dotabata.cgi line 13.
って言ってるので、そのように書きなおす(^_^;)
87
(1): 動け動けウゴウゴ2ちゃんねる 2008/10/24(金) 19:11:22 ID:h7TPz9CUP(8/10)調 BE AAS
@ServerList[$num] = $TgtServer;
これか?

$ServerList[$num] = $TgtServer;
88: マァヴ ◆jxAYUMI09s 2008/10/24(金) 19:12:21 ID:RrB8QqMm0(46/64)調 BE AAS
>85
あれ?(^_^;)そういうことになるの?>@TgtServerの中身
89: マァヴ ◆jxAYUMI09s 2008/10/24(金) 19:12:41 ID:RrB8QqMm0(47/64)調 BE AAS
>87
それ(^_^;)
90
(1): 2008/10/24(金) 19:15:20 ID:EIWLfPdx0(1/5)調 AAS
>>76
見れた♪

んで、配列から特定の要素を取り出して再度配列にするならgrep使うといいよ。
たぶん使えるはず。

# @DirList リスト内で ch2 から始まるものを @TgtServerリストに入れる
@TgtServer = grep( !/^ch2/, @DirList );

で、↓な感じで

#!/usr/bin/perl -w

#アカウントリストを作る
opendir(MD,"/md");
@DirList = readdir(MD);
closedir(MD);

@ServerList = grep( !/^ch2/, @DirList );

#できあがったリストを確認のため出力
print "Content-type: text/html\n\n";

foreach $TgtServer (@ServerList) {
print ("$TgtServer\n");
}

# 実は私も手探りな感じ。
91
(1): マァヴ ◆jxAYUMI09s 2008/10/24(金) 19:16:16 ID:RrB8QqMm0(48/64)調 BE AAS
foreach $TgtServer (@DirList) {
処理;
}
って、@DirListの中身の1要素を$TgtServerに入れて
処理を済ませたら
@DirListの中身の次の1要素を$TgtServerに入れて
処理を済ませたら

とやって、@DirListの要素がなくなったらforeach()を抜ける・・・・んでないの?(^_^;)
92: 動け動けウゴウゴ2ちゃんねる 2008/10/24(金) 19:16:52 ID:6Yk/gpUK0(8/9)調 AAS
$_
93: 動け動けウゴウゴ2ちゃんねる 2008/10/24(金) 19:17:45 ID:h7TPz9CUP(9/10)調 BE AAS
#!/usr/bin/perl -w

#アカウントリストを作る
opendir(MD,"/md");
@DirList = readdir(MD);
closedir(MD);

#できあがったリストを確認のため出力
print "Content-type: text/html\n\n";
$num = 0;
foreach $TgtServer (@DirList) {
if ( $TgtServer =~ /^ch2/) {
$ServerList[$num] = $TgtServer;
$num ++;
}
}

foreach $TgtServer (@ServerList) {
if ( $TgtServer =~ /^ch2/) {
print ("$TgtServer\n");
}
}

かな?
94
(2): マァヴ ◆jxAYUMI09s 2008/10/24(金) 19:18:31 ID:RrB8QqMm0(49/64)調 BE AAS
#!/usr/bin/perl -w

#アカウントリストを作る
opendir(MD,"/md");
@DirList = readdir(MD);
closedir(MD);

#できあがったリストを確認のため出力
print "Content-type: text/html\n\n";
$num = 0;
foreach $TgtServer (@DirList) {
if ( $TgtServer =~ /^ch2/) {
$ServerList[$num] = $TgtServer;
$num ++;
}
}

foreach $TgtServer (@ServerList) {
if ( $TgtServer =~ /^ch2/) {
print ("$TgtServer\n");
}
}

これでワーニングも出なくなった(^_^;)
@ServerListにアカウントのリストが出来上がった〜
はず(^_^;)
95
(1): 2008/10/24(金) 19:23:13 ID:EIWLfPdx0(2/5)調 AAS
>>91
そうです。

>>94
パチパチパチパチ♪
のはず
96
(1): 動け動けウゴウゴ2ちゃんねる 2008/10/24(金) 19:24:49 ID:JGievMm90(16/20)調 AAS
>>94
そうか、結果をファイルに出すわけじゃないんだもんね。
なら多分大丈夫。
97: 動け動けウゴウゴ2ちゃんねる 2008/10/24(金) 19:24:49 ID:h7TPz9CUP(10/10)調 BE AAS
ああ、だめだ;仕事しながらだと追いつかないw
98: マァヴ ◆jxAYUMI09s 2008/10/24(金) 19:25:18 ID:RrB8QqMm0(50/64)調 BE AAS
>95
どもども(^_^;)

>39
制御用アカウントに
public_html/.htaccess
public_html/test/.htaccess
public_html/test/read.cgi 等 (*.so offlaw* read.cgi)
を用意しておく

これは済ませた(^_^;)ので次は・・・・
/md/tmp/public_html に全てをコピー

これをやろう(^_^;)
99
(1): マァヴ ◆jxAYUMI09s 2008/10/24(金) 19:26:02 ID:RrB8QqMm0(51/64)調 BE AAS
>96
はい(^_^;)
これからやる作業のためのリストを作ったのです。
100: マァヴ ◆jxAYUMI09s 2008/10/24(金) 19:30:42 ID:RrB8QqMm0(52/64)調 BE AAS
if (!-d "/md/tmp/public_html"){
mkdir "/md/tmp/public_html";
if (!-d "/md/tmp/public_html/test"){
mkdir "/md/tmp/public_html/test";
}
}

こんなんでいいのかな?(^_^;)
101
(2): 2008/10/24(金) 19:31:20 ID:EIWLfPdx0(3/5)調 AAS
>>99
ありゃ・・・これはいらない?>>90

まぁ後でもいいですが。
102: マァヴ ◆jxAYUMI09s 2008/10/24(金) 19:32:28 ID:RrB8QqMm0(53/64)調 BE AAS
ulahana301@banana3174:~/public_html$ ls /md/tmp/public_html/
test/

あっさりできた(^_^;)
103: 動け動けウゴウゴ2ちゃんねる 2008/10/24(金) 19:34:02 ID:CjHC8Jnw0(1)調 AAS
エラーも含めて、なんか楽しそうだな。。。
裏山
104
(1): 動け動けウゴウゴ2ちゃんねる 2008/10/24(金) 19:34:35 ID:JGievMm90(17/20)調 AAS
>>101
grepでやってしまうかどうかはサーバーの負荷しだいだと思う。
105
(1): マァヴ ◆jxAYUMI09s 2008/10/24(金) 19:34:58 ID:RrB8QqMm0(54/64)調 BE AAS
>101
あ(^_^;)一回で一気に選別しながら配列に入れられるのか・・・・
@TgtServer = grep( !/^ch2/, @DirList );
とやった時の`TgtServerと
$num = 0;
foreach $TgtServer (@DirList) {
if ( $TgtServer =~ /^ch2/) {
$ServerList[$num] = $TgtServer;
$num ++;
}
}
の@ServerListって等価じゃないのかな?(^_^;)
106: マァヴ ◆jxAYUMI09s 2008/10/24(金) 19:37:27 ID:RrB8QqMm0(55/64)調 BE AAS
そんじゃファイルのコピーおば(^_^;)
コピーするものは
/home/ulahana301/public_html/.htaccess
/home/ulahana301/public_html/test/*.*
107
(1): 2008/10/24(金) 19:40:41 ID:EIWLfPdx0(4/5)調 AAS
>>104
どっちが負荷高いのかな?

>>105
投下等価
108: ピロリ 2008/10/24(金) 19:40:49 ID:6Yk/gpUK0(9/9)調 AAS
cp -r とか
109: マァヴ ◆jxAYUMI09s 2008/10/24(金) 19:41:53 ID:RrB8QqMm0(56/64)調 BE AAS
system("cp /home/ulahana301/public_html/.htaccess /md/tmp/public_html/");
system("cp /home/ulahana301/public_html/test/* /md/tmp/public_html/test/");

こんなんでいいのかな?(^_^;)
110: 動け動けウゴウゴ2ちゃんねる 2008/10/24(金) 19:42:41 ID:JGievMm90(18/20)調 AAS
>>107
多分現状のサーバー状況だとgrepの方が負荷は少ないと思います。
111
(1): 動け動けウゴウゴ2ちゃんねる 2008/10/24(金) 19:48:05 ID:vMVWqA7m0(5/9)調 AAS
負荷っつっても垢リスト作るためだけのルーチンじゃなかったっけ?
呼び出されるのは鯖リブート後一回か垢変更あった時だけだろうし気にしなくていいかと
112
(3): マァヴ ◆jxAYUMI09s 2008/10/24(金) 19:49:40 ID:RrB8QqMm0(57/64)調 BE AAS
次(^_^;)
#/md/tmp/以下の属性を適切に変更する
system ("chmod 777 /home/ulahana301/public_html/");
system ("chmod 644 /home/ulahana301/public_html/.htaccess");
system ("chmod 777 /home/ulahana301/public_html/test/");
system ("chmod 755 /home/ulahana301/public_html/test/*");

chownして、rootのwheelにしたほうがいいのかな?(^_^;)
でも、それはrootからしかできないので後回し。
113: マァヴ ◆jxAYUMI09s 2008/10/24(金) 19:53:34 ID:RrB8QqMm0(58/64)調 BE AAS
ここまでは動いているような気がする(^_^;)
114: マァヴ ◆jxAYUMI09s 2008/10/24(金) 19:54:23 ID:RrB8QqMm0(59/64)調 BE AAS
あ(^_^;)間違えてる間違えてる>112
115: マァヴ ◆jxAYUMI09s 2008/10/24(金) 19:58:50 ID:RrB8QqMm0(60/64)調 BE AAS
よし(^_^;)ここまでOK
次は・・・・
全てのアカウントの以上のファイルを消去
これだな・・・・
さてさて。今やっちゃうとたぶんとても悲しいことになると思うので
あとまわし

シンボリックリンクにする
これやろう(^_^;)
116: マァヴ ◆jxAYUMI09s 2008/10/24(金) 19:59:50 ID:RrB8QqMm0(61/64)調 BE AAS
さて、ここで、先ほど成功したサーバリストを一度お蔵に入れます(^_^;)
いきなり本番は怖いので、仮のリストにテスト用アカウントを入れてテストテスト
117
(1): マァヴ ◆jxAYUMI09s 2008/10/24(金) 20:03:21 ID:RrB8QqMm0(62/64)調 BE AAS
このサーバにはなぜかch2foo7があったりする(^_^;)
food7.2ch.netは三女にあるので、実は使ってないのだ。
118: マァヴ ◆jxAYUMI09s 2008/10/24(金) 20:05:05 ID:RrB8QqMm0(63/64)調 BE AAS
ここまでのソース(^_^;)っ外部リンク[txt]:hana301.ula.cc
119: 動け動けウゴウゴ2ちゃんねる 2008/10/24(金) 20:05:55 ID:vMVWqA7m0(6/9)調 AAS
>>117
混乱しそうだからアカウント名変えておいたほうがいいかも〜
120
(1): マァヴ ◆jxAYUMI09s 2008/10/24(金) 20:06:44 ID:RrB8QqMm0(64/64)調 BE AAS
よし(^_^;)ここまで出来たら勝ったも同然!
ということで祝杯をあげに行く〜
121: 動け動けウゴウゴ2ちゃんねる 2008/10/24(金) 20:14:44 ID:vMVWqA7m0(7/9)調 AAS
こっちもかいw いってら〜
122
(3): 動け動けウゴウゴ2ちゃんねる 2008/10/24(金) 20:14:58 ID:JGievMm90(19/20)調 AAS
>>111
どれに組み込まれるかわからないしタイミングもあるだろうから、
メモリ状況や他のを今から考えていたほうが良いと思っただけなのです。

で、>>112でperlのchmodではなくsytem呼んでいるので、なにか考えているのかなと。
123: 2008/10/24(金) 20:32:12 ID:EIWLfPdx0(5/5)調 AAS
私は{}で多段にするよりも見やすくなるかなぁと思っていったので。
見た目なので、まぶちーが分かりやすいほうがいいと思うですよ。

>>120
いってら♪
124
(2): 動け動けウゴウゴ2ちゃんねる 2008/10/24(金) 20:37:16 ID:3ItuW7Rn0(1)調 AAS
>>122
> で、>>112でperlのchmodではなくsytem呼んでいるので、なにか考えているのかなと。

マァヴは「Perlの超初心者(学習1日目)」なので、単に知らないだけと言う可能性もありますがな。
125: 動け動けウゴウゴ2ちゃんねる 2008/10/24(金) 20:37:21 ID:vMVWqA7m0(8/9)調 AAS
>>122
perlにchmodがあることを知らなかったに1ペセタ
126: 動け動けウゴウゴ2ちゃんねる 2008/10/24(金) 20:38:46 ID:vMVWqA7m0(9/9)調 AAS
orz
俺これ組み終わったら>>124とケコーンするんだ…
127: マァヴ ◆jxAYUMI09s 2008/10/24(金) 23:07:26 ID:3vVg6XSbO携(1)調 AAS
>>124
はい(^_^;)正解です
128: 動け動けウゴウゴ2ちゃんねる 2008/10/24(金) 23:52:16 ID:JGievMm90(20/20)調 AAS
>>122のsytem ってのはsystemのTYPOなので脳内変換して。(きっと皆してると思うけど念のため)
129: 動け動けウゴウゴ2ちゃんねる 2008/10/25(土) 02:39:19 ID:D89lNlYi0(1)調 AAS
花子と花代にこのスレ教えてあげた?
130: マァヴ ◆jxAYUMI09s 2008/10/25(土) 06:55:21 ID:eEVS4M0rO携(1)調 AAS
発売時刻を前にして、kitaca売り切れ@新札・・・(^_^;)札駅に向かう

つか、ほかどこで売り出すんだっけ?(^_^;)
131: 動け動けウゴウゴ2ちゃんねる 2008/10/25(土) 07:05:02 ID:wU8OfsTx0(1/2)調 AAS
JR北海道Kitaca
外部リンク:www.jrhokkaido.co.jp

Kitaca - Wikipedia
外部リンク:ja.wikipedia.org
132
(1): 動け動けウゴウゴ2ちゃんねる 2008/10/25(土) 07:08:59 ID:wU8OfsTx0(2/2)調 AAS
デビュー記念Kitacaの発売について
外部リンク[html]:www.jrhokkaido.co.jp
133: 動け動けウゴウゴ2ちゃんねる 2008/10/25(土) 08:57:09 ID:f+sTqdpn0(1)調 AAS
札幌、小樽、手稲、桑園、江別、岩見沢、新札幌、千歳、苫小牧
>>132より
見れたか心配だったので一応
遅かったかも。。。
134: 動け動けウゴウゴ2ちゃんねる 2008/10/25(土) 14:55:15 ID:VYnNJ+SV0(1)調 AAS
キタカ、、、 なんだ・・・

そうか、来たか・・・・はぁ、、、どうすんべ?
135
(1): 動け動けウゴウゴ2ちゃんねる 2008/10/25(土) 18:19:10 ID:BU5ZvusA0(1/2)調 AA×

136: 動け動けウゴウゴ2ちゃんねる 2008/10/25(土) 18:21:43 ID:r+UFD3AH0(1)調 AAS
>>135
噴いた
137: 動け動けウゴウゴ2ちゃんねる 2008/10/25(土) 18:25:05 ID:BU5ZvusA0(2/2)調 AA×

138: (^-^)犬 ◆VET4349ZB. 2008/10/25(土) 18:42:41 ID:e0msH7FD0(1)調 AAS
不意を衝かれたw
139: 未承諾広告※ ◆TWARamEjuA 2008/10/25(土) 20:33:08 ID:u1KnjtxL0(1/4)調 AAS
for ≡ foreachだす♪
140: 動け動けウゴウゴ2ちゃんねる 2008/10/25(土) 20:35:40 ID:b6sFyOec0(1)調 AAS
ごうどうっていうのか!
141
(1): 未承諾広告※ ◆TWARamEjuA 2008/10/25(土) 20:37:27 ID:u1KnjtxL0(2/4)調 AAS
「≡」は無いか。。。
for ($i=0;$i++;$i>10){ ... }
って書き方があったっけ。
でもって、/md/ に ch2 で始まるエントリがないときの処理が要りそうな伊予柑。
(/md/が無いこともあり得るし♪)
142: 未承諾広告※ ◆TWARamEjuA 2008/10/25(土) 20:46:19 ID:u1KnjtxL0(3/4)調 AAS
#!/usr/bin/perl -w

use strict;
use warning;

my $MD_Dir = "/md"; # 対象ディレクトリ名
my $Dir_handle; # ハンドル格納用汎用変数
my @ServerList; # サーバリストが入ってきます♪

#アカウントリストを作る
#/mdのディレクトリリスト取得してついでに必要なものを抜き出してリストにする
opendir $Dir_handle,$MD_Dir or die "/md is not found.";
@ServerList = grep /^ch2/, readdir $Dir_handle or die "readdir error.";
closedir $Dir_handle;

#/md/tmp/に必要なディレクトリを掘る
:
:
:
ちょっとすっきり♪
143: 未承諾広告※ ◆TWARamEjuA 2008/10/25(土) 20:47:57 ID:u1KnjtxL0(4/4)調 AAS
→$ServerList[$num] = $TgtServer;
→$num ++;

push @ServerList, $TgtServer;
で桶♪
144: 動け動けウゴウゴ2ちゃんねる 2008/10/25(土) 20:52:30 ID:hX7GfRlVP(1)調 BE AAS
おおー、ディレクトリ存在確認も入ってすっきりー
145: ぇり@なんだか筆頭固定 ☆ ◆ERI.ES/lN6 2008/10/25(土) 21:00:00 ID:X8fbMBUvO携(1)調 AAS
花子さん記念にカキコお願いします!

自己板筆頭 ぇりと愉快な仲間達85【住人募集中】
2chスレ:intro
146: 未承諾広告※ ◆TWARamEjuA 2008/10/25(土) 22:01:39 ID:C5SutGt30(1)調 AAS
@ServerListが空っぽなこともあり得るか。

@ServerList or die "Nothing list."; とか、
die "Nothing list." unless @ServerList; とか、、
if (scalar @ServerList == 0) { die "Nothing list." } とか、、、
147
(1): 動け動けウゴウゴ2ちゃんねる 2008/10/26(日) 08:16:15 ID:uf1XzYGO0(1)調 AAS
>>141 のforは条件式の大小が反対で駄目なのでいやん。
148
(1): 動け動けウゴウゴ2ちゃんねる 2008/10/26(日) 18:17:48 ID:hBcuSJr30(1)調 AAS
リストがカラです、の英語訳はList emptyあたりではないかと。
149: 動け動けウゴウゴ2ちゃんねる 2008/10/26(日) 18:19:38 ID:GS71Zp+k0(1)調 AA×

150: 動け動けウゴウゴ2ちゃんねる 2008/10/26(日) 18:24:13 ID:KMjLhETy0(1)調 AAS
なんて不憫な。・゚・(ノД`)・゚・。
151
(1): 未承諾広告※ ◆TWARamEjuA 2008/10/26(日) 21:46:59 ID:b/Y1c2KS0(1)調 AAS
>>147-148
えへへ(照)

ごく個人的に単純ループは、、、
for my $count (1 .. 100){ ... }
って書いた方が精神的にすきーり♪
152: 動け動けウゴウゴ2ちゃんねる 2008/10/27(月) 03:27:26 ID:IH40YpmP0(1)調 AAS
>>151
すっきりはするだろうけれど、他の人が見る事を考えるのも良いかもね
153: ピロリ 2008/10/27(月) 13:26:59 ID:NOuaGJhA0(1)調 AAS
できた?
154: マァヴ ◆jxAYUMI09s 2008/10/27(月) 13:34:45 ID:e4x5arEd0(1/43)調 BE AAS
むはん(^_^;)
155: マァヴ ◆jxAYUMI09s 2008/10/27(月) 13:34:58 ID:e4x5arEd0(2/43)調 BE AAS
まだー(^_^;)
1-
あと 846 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.037s