Web Memo/PHP_Shell
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
*PHPとShell Command [#o905202e]
RIGHT:更新日&lastmod();
**ディレクトリのTree構造取得 [#m42efb28]
// ファイル転送ディレクトリをtree状に取得
$cmd = "/usr/bin/tree -NsD /home/user1/backup > /home/jc...
$ret = exec($cmd);
$msg = $msg . "\n\n------------------\n\n";
// 文字化けを20h(半角スペースに変換 \40は8進でスペース)
$cmd = "/bin/cat /home/jcn/script/tmp.log | /usr/bin/tr ...
$ret = exec($cmd);
**Ping 実行shell [#ue786ccb]
次のmypingというshellで出るlogをWebで表示
#! /bin/sh
date >> ~okada/log/pinglog
ping -c3 202.59.187.76 >> ~okada/log/pinglog
**Ping 実行shell Web表示サンプル [#x03d7ede]
<?php
$match ="^rtt";
$fp = popen("/usr/bin/tail -200 ~okada/log/pinglog", "r");
while (!feof($fp)) {
$line = fgets($fp, 1024);
printf("%s <br>\n", $line);
if (mb_ereg($match, $line)) {
echo " <HR> Date : ";
}
}
pclose($fp);
?>
[[サンプル:http://uso5004.mie-chukyo-u.ac.jp/~okada/mypin...
**Pingでリモートの監視(Error時メール自動発信) [#zafc3ff7]
-mbstringのInstall
# yum install php-mbstring
以下のshellスクリプトをpinglog生成のため作成し、cronに登録
#! /bin/sh
export LANG=ja_JP.eucJP
date > ~okada/log/pinglog.err
ping -c2 wwwism.dyndns.org >> ~okada/log/pinglog.err 2>&...
ping -c2 202.91.212.66 >> ~okada/log/pinglog.err
/home/okada/script/icmpcheckmail.php > /dev/null 2>&1 <=...
icmpcheckmail.phpで
#!/usr/local/bin/php -q
<?php
//Ping(ICMP)でパケットロスしたらメールを送る
$mailaddress = "okada@abc.ac.jp";
$fp = @fopen("/home/okada/log/pinglog.err", "r");
if (!$fp) exit;
$flag = 0;
$msg= "";
$s0 = "";
$s = "";
while(!feof($fp)){
$s = fgets($fp, 4096);
$msg = $msg . $s;
if(strpos($s, "パケット損失 100%")){//RO...
if(strpos($s0, "wwwism")){//DDNS...
$flag = $flag + 1;
}else{// DHCP Changed :2
$flag = $flag + 2;
}
}
//DDNS Servce Error: DDNSで名前解決して...
if(strpos($s, "不明なホスト")) $flag = $...
$s0 = $s;
}
if ($flag == 0) exec("/bin/echo 0 > /home/okada/...
fclose($fp);
//ファイルから1行ごと配列の取り込む
$array = file("/home/okada/log/pinglog.flag");
$fflag = $array[0];
//メール送信
if($flag != 0 && $fflag == 0){
if($flag == 1){
$subject = "DDNS Error";
}else if($flag == 2){
$subject = "DHCP Changed";
}else if($flag == 3){
$subject = "ROUTER Error";
}else{
$subject = "DDNS Service Error";
}
$subject = mb_convert_encoding($subject,...
$subject = mb_encode_mimeheader($subject...
$fp = popen("/usr/bin/nkf -m0 | /usr/sbi...
fwrite($fp, "From: okada@abc.ac.jp\n");
fwrite($fp, "Reply-To: okada@abc.ac.jp\n...
fwrite($fp, "To: ". $mailaddress . "\n");
fwrite($fp, "Subject: " . $subject ."\n");
fwrite($fp, "Mime-Version: 1.0\n");
fwrite($fp, "Content-Type: text/plain; c...
fwrite($fp, $msg . "\n");
pclose($fp);
//一度メールを送ったら、2回目のメールは...
exec("/bin/echo 1 > /home/okada/log/ping...
}
?>
その後
$ chmod a+x icmpcheckmail.php
で実行権を与える
/home/okada/log/pinglog.flagは0のときは正常1:のときはなん...
---------------------------------------------------------...
RIGHT:[[元ページ:https://wwwism.dyndns.org/hp/phpshell.ht...
終了行:
*PHPとShell Command [#o905202e]
RIGHT:更新日&lastmod();
**ディレクトリのTree構造取得 [#m42efb28]
// ファイル転送ディレクトリをtree状に取得
$cmd = "/usr/bin/tree -NsD /home/user1/backup > /home/jc...
$ret = exec($cmd);
$msg = $msg . "\n\n------------------\n\n";
// 文字化けを20h(半角スペースに変換 \40は8進でスペース)
$cmd = "/bin/cat /home/jcn/script/tmp.log | /usr/bin/tr ...
$ret = exec($cmd);
**Ping 実行shell [#ue786ccb]
次のmypingというshellで出るlogをWebで表示
#! /bin/sh
date >> ~okada/log/pinglog
ping -c3 202.59.187.76 >> ~okada/log/pinglog
**Ping 実行shell Web表示サンプル [#x03d7ede]
<?php
$match ="^rtt";
$fp = popen("/usr/bin/tail -200 ~okada/log/pinglog", "r");
while (!feof($fp)) {
$line = fgets($fp, 1024);
printf("%s <br>\n", $line);
if (mb_ereg($match, $line)) {
echo " <HR> Date : ";
}
}
pclose($fp);
?>
[[サンプル:http://uso5004.mie-chukyo-u.ac.jp/~okada/mypin...
**Pingでリモートの監視(Error時メール自動発信) [#zafc3ff7]
-mbstringのInstall
# yum install php-mbstring
以下のshellスクリプトをpinglog生成のため作成し、cronに登録
#! /bin/sh
export LANG=ja_JP.eucJP
date > ~okada/log/pinglog.err
ping -c2 wwwism.dyndns.org >> ~okada/log/pinglog.err 2>&...
ping -c2 202.91.212.66 >> ~okada/log/pinglog.err
/home/okada/script/icmpcheckmail.php > /dev/null 2>&1 <=...
icmpcheckmail.phpで
#!/usr/local/bin/php -q
<?php
//Ping(ICMP)でパケットロスしたらメールを送る
$mailaddress = "okada@abc.ac.jp";
$fp = @fopen("/home/okada/log/pinglog.err", "r");
if (!$fp) exit;
$flag = 0;
$msg= "";
$s0 = "";
$s = "";
while(!feof($fp)){
$s = fgets($fp, 4096);
$msg = $msg . $s;
if(strpos($s, "パケット損失 100%")){//RO...
if(strpos($s0, "wwwism")){//DDNS...
$flag = $flag + 1;
}else{// DHCP Changed :2
$flag = $flag + 2;
}
}
//DDNS Servce Error: DDNSで名前解決して...
if(strpos($s, "不明なホスト")) $flag = $...
$s0 = $s;
}
if ($flag == 0) exec("/bin/echo 0 > /home/okada/...
fclose($fp);
//ファイルから1行ごと配列の取り込む
$array = file("/home/okada/log/pinglog.flag");
$fflag = $array[0];
//メール送信
if($flag != 0 && $fflag == 0){
if($flag == 1){
$subject = "DDNS Error";
}else if($flag == 2){
$subject = "DHCP Changed";
}else if($flag == 3){
$subject = "ROUTER Error";
}else{
$subject = "DDNS Service Error";
}
$subject = mb_convert_encoding($subject,...
$subject = mb_encode_mimeheader($subject...
$fp = popen("/usr/bin/nkf -m0 | /usr/sbi...
fwrite($fp, "From: okada@abc.ac.jp\n");
fwrite($fp, "Reply-To: okada@abc.ac.jp\n...
fwrite($fp, "To: ". $mailaddress . "\n");
fwrite($fp, "Subject: " . $subject ."\n");
fwrite($fp, "Mime-Version: 1.0\n");
fwrite($fp, "Content-Type: text/plain; c...
fwrite($fp, $msg . "\n");
pclose($fp);
//一度メールを送ったら、2回目のメールは...
exec("/bin/echo 1 > /home/okada/log/ping...
}
?>
その後
$ chmod a+x icmpcheckmail.php
で実行権を与える
/home/okada/log/pinglog.flagは0のときは正常1:のときはなん...
---------------------------------------------------------...
RIGHT:[[元ページ:https://wwwism.dyndns.org/hp/phpshell.ht...
ページ名: