segunda-feira, 25 de junho de 2007

Mass Delete na queue do Z/OS


Como descrito anteriormente publicarei os scripts(transformados em programas) , os quais funcionam como "utilitários" para o Z/OS . O primero script permite "mass delete" de jobs na queue.

delete_job.php


set_time_limit(0);
include('server.inc');
//-------------------------------------------------
$conn_id = ftp_connect("$ftp_server");
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// ------------------------------------------------verifica conexao
if ((!$conn_id) (!$login_result)) {
echo "Ftp falhou!";
echo "Conexão $ftp_server para o user $ftp_user_name";
die;
} else {
echo "Conexão para o user $ftp_user_name";
}
$a2 = ftp_site($conn_id,"quote site filetype=jes");
include('jes.inc');
$teste = ftp_rawlist($conn_id,$wer);
$tam = count($teste);
for($i=0;$i<$tam;$i++) {
echo $teste[$i];
$nj = substr($teste[$i],9,8);
echo $nj ;
ftp_delete($conn_id, $nj);
}
ftp_close($conn_id);
ftp_quit($conn_id);

--------------------------------------------------------------------

server.inc

$ftp_server="ip"; //ip do servidor
ftp $ftp_user_name="user"; //user tso
$ftp_user_pass="password"; //password tso

--------------------------------------------------------------------

jes.inc

$a3 = ftp_site($conn_id,"quote site jesentrylimit=900"); //limita a 900 jobs

------------------------------------------------------------------------------------------------


Agora com o script acima , iremos transforma-lo em em programa executavel no Windows , utilizando o Bamcompile :

http://www.bambalam.se/bamcompile/

Conforme descrito no link acima :

bamcompile [-options] infile.php [outfile.exe]
bamcompile [-options] project_directory mainfile.php [outfile.exe]
bamcompile projectfile.bcp

Options: -w Hide console window for windowed applications
-c Compress output exe (using UPX)
-d Do not encode PHP files
-e:extension.dll Embed and use PHP extension
-i:icon.ico Add icon to exe
------------------------------------------------------------------------------------------------
Utilizarei um arquivo .BAT para "compilação" do Script

compile.bat

bamcompile -c delete_job.php
pause

------------------------------------------------------------------------------------------------
Resultado:

delete_job.exe



Não esqueçam de alterar o ip do servidor de ftp , user e password de tso .

Duplo clique e começa a execucao em uma janela DOS.


Ronaldo Menezes

PHP - Utilitários - FTP - Z/OS

Abaixo irão encontrar alguns programas(scripts) desenvolvidos em PHP e que foram compilados(Bamcompile) e são utilizados como utilitários sobre a plataforma Windows. Com estes não preciso de uma sessão de "TSO" e são extremamente rápidos .

Utilitários:

  • Exclusão de jobs na queue do Z/OS
  • Exclusao de arquivos no Z/OS
  • Download Membro de um Particionado do Z/OS
  • Download de arquivo(s) no Z/OS
  • Rename de arquivo no Z/Os
  • Submit (Job) directo de um Particionado do Z/OS
  • Submit (Job) directo do PC
  • Upload membro para um Particionado do Z/OS
  • Upload de Arquivo para no Z/OS

Os programas tem utilização semelhante aos programas do Windows , para execução , basta um duplo clique. Uma sessão DOS sera aberta ate que o programa esteja concluído.

sexta-feira, 22 de junho de 2007

Transformar qualquer Script em um arquivo Executável (.exe)

Transformar qualquer Script em um arquivo Executável (.exe)

Por diversas vezes confrontei-me com as seguintes situações :

- Deixar uma aplicação desenvolvida / site no cliente e não ter como proteger o código.
- Depender do browser para execução de script’s
- Depender de utilizar o script via comannd line


Seja por motivo de protecção ao código ou por dar maior agilidade ao processo , hoje utilizo “Bancompile” , programa que permite a transformação de qualquer script em um arquivo executável .Após a transformação posso usar o arquivo executável em um “ Scheduler” ou pedir a execução via php utilizando funções como “exec” ou “passtrhu”, as quais permitem a execução de um programa externo.

Compilador( “termo usado no mainframe , indica que um programa tem sua sintaxe verificada e ja encontra-se pronto para ser transformado em executável) .


Como exemplo, explicarei o script abaixo onde utilizei o compilador para gerar o executável e dar agilidade ao processo de gerar perto de 1300 gráficos dinamicamente.
Neste script utilizo a class “JPGRAPH” , a qual não vou explicar neste artigo.
Os gráficos após serem gerados, fazem parte de uma aplicação onde podem ser vistos sem serem gerados no momento, pois foram gerados em "background".


Script : (compilado.php)

-----------------------------------------------------------------------------------------------
'$datah' order by data,volume ";
'$datah' order by data,volume ";
echo $query . "\n";
$result = mysql_query($query) ;
$linhas = mysql_num_rows($result);
if ($linhas > 1) { // se existe conteudo monta grafico
if ($myrow=mysql_fetch_array($result)) {
do {
$datax[] = $myrow["data"];
$volx[] = $myrow["volume"];
$ydata[] = $myrow["free_percent"];

}while ($myrow=mysql_fetch_array($result));
}
// Create the graph. These two calls are always required
$graph = new Graph(800, 200,"DISCO.".$rep.".JPG");
$graph->SetScale( "textlin");
$tit = "Percentual Free Space no volume - " . $vol[$i] ;
$graph->title->Set($tit);
$graph->SetMarginColor("azure");
$graph->xaxis->SetTickLabels($datax);
//$graph->xaxis->SetTextLabelInterval(5);
$graph->xaxis->SetFont(FF_ARIAL,FS_NORMAL,8);
$graph->xaxis->SetLabelAngle(45);
$graph->img->SetMargin(45,30,30,80);
$graph->SetShadow();
//$graph->ygrid->SetFill(true,'#EFEFEF@0.5','#BBCCFF@0.5');
// Create the linear plot
$lineplot =new LinePlot($ydata);
$lineplot ->SetColor("darkblue");
//$lineplot->value->Show() ;

// Add the plot to the graph
$graph->Add( $lineplot);

// Display the graph
$graph->Stroke("DISCO.".$rep.".JPG");
unset($datax);
unset($volx);
unset($ydata);
}
}

?>

-----------------------------------------------------------------------------------------------

Utilização do “Bamcompile”


Através de um arquivo .BAT crio o executável conforme descrito na documentação no site do Bamcompile.

bamcompile [-options] infile.php [outfile.exe] bamcompile [-options] project_directory mainfile.php [outfile.exe] bamcompile projectfile.bcpOpções: ( Ver no site acima documentação) -w -c
-d -e:extension.dll Embed and use PHP extension -i:icon.ico Add icon to exe

O Arquivo utilizado (dll) encontra-se em php/extensions, neste caso como a intenção é gerar gráficos utilizei GD.

compilado.bat:
-----------------------------------------------------------------
bamcompile -e php_gd2.dll compilado.php
pause
-----------------------------------------------------------------
Resultado :

Compilado.exe


Observar que um pequeno script fica com o tamanho de muitos KB, pois no executável esta incluso “php.exe”.

BAMCOMPILE : http://www.bambalam.se/bamcompile/