Páginas

quarta-feira, 19 de dezembro de 2012

MySQL - Aprenda a fazer backup's de sua base de dados

MySQLDUMP
O MySQL traz consigo o MySQLDUMP, que nada mais é que uma ferramenta que nos dá possibilidade de copiar os bancos de dados que estão dentro do SGBD MySQL. O Funcionamento deste é algo bem simples, é um programa cliente que coloca o conteúdo de tabelas em arquivos. é útil para fazer cópias de segurança de bancos de dados ou transferir conteúdos de bancos de dados para outro servidor.

O MySQLDUMP pode produzir arquivos no formato SQL que contenham declarações CREATE TABLE e INSERT para recriar os arquivos ou para produzir arquivos de dados delimitados por tabulações.

COMO FUNCIONA O MySQLDUMP?

terça-feira, 4 de dezembro de 2012

SNMP em Linux e Windows para monitoramento no Cacti

O que seria o SNMP?

O protocolo SNMP (do inglês Simple Network Management Protocol - Protocolo Simples de Gerência de Rede) é um protocolo de gerência típica de redes TCP/IP, da camada de aplicação, que facilita o intercâmbio de informação entre os dispositivos de rede, como placas e comutadores (em inglês: switches).

O SNMP possibilita aos administradores de rede gerenciar o desempenho da rede, encontrar e resolver seus eventuais problemas, e fornecer informações para o planejamento de sua expansão, dentre outras.

Fonte: http://pt.wikipedia.org/wiki/Simple_Network_Management_Protocol

Instalando e configurando o SNMP em S.O Windows XP e 2003

Instalando Serviço SNMP em máquinas com S.O Windows:

1) Entre no painel de controle e clique 2X na opção Adicionar e Remover Programas: 
Instalando SNMP em Linux e Windows para monitoramento no Cacti

sexta-feira, 19 de outubro de 2012

Sincronizar relógio e calendário do Linux para atualização automática do horário de verão com - NTP Client/Server

Introdução
O NTP é um protocolo para sincronização dos relógios dos computadores, ou seja, ele define um jeito para um grupo de computadores conversar entre si e acertar seus relógios, baseados em alguma fonte precisa de tempo, como os relógios atômicos do Observatório Nacional, que definem a Hora Legal Brasileira.
Em sua versão mais completa, o NTP é bastante robusto e preciso. Ele consulta vários outros computadores para saber a hora certa, e consegue distinguir os que falam a verdade e os que estão enganados. Ele também aprende se o relógio de seu computador é viciado em adiantar-se ou atrasar-se e usa essa informação para ajustá-lo constantemente.
Com o NTP é fácil manter o relógio do computador sempre com a hora certa, com exatidão de alguns milésimos de segundo, e só há vantagens em se fazer isso!

terça-feira, 16 de outubro de 2012

Download do template SD Simple Simon atualizado

Vamos baixar um template "limpo" e instalar no Seblod, depois configurar no tipo de conteúdo Article, para deixar a saída dele no frontend com menos tags.

http://www.seblod.com/support/forum/100-Templates/34471--NEW-TEMPLATE---SD-Simple-Simon---Removes-Clutter-From-CCK-Output.html

Link para download do plugin de campo Concat

http://www.seblod.com/support/forum/Field-Types-Plugin/26846--NEW-PLUGIN-SD-Field-Concat-V220---SEBLOD-23x---Concatenate-fields-text--predefined-variables-multiple-checkboxes--more.html

Criando um Sistema de Comentários com Seblod 2.0 [Vídeo] [Inglês]

http://vimeo.com/25526221

Listas e Buscas

Exemplo de Busca [Vídeo] [Inglês]:
http://www.seblod.com/network/videos/1680-search-example.html


Veja as 42 posições do template Seb_one

42 posições do template Seb_one:
http://www.seblod.com/42-positions.html

Documentação sobre Templates [Inglês]:
http://www.seblod.com/support/documentation/seblod-2x/templates.html

Tipos de Campos

Tipos de Campos:
http://www.seblod.com/support/documentation/seblod-2x/fields/types.html

Fórum Oficial sobre campos [Inglês] [Fórum] [Downloads]
http://www.seblod.com/support/forum/Field-Types-Plugin.html

Checando seu sistema de arquivos com fsck

Em casos de queda de energia, desligamento incorreto do computador (sem ser via halt ou shutdown) ou defeitos físicos no disco rígido, pode acontecer de haver corrompimento de arquivos no sistema de arquivos. Essa situação é comum principalmente quando seu sistema de arquivo ainda é ext2

Na próxima vez que o Linux for iniciado, será executado o fsck, que é o software similar ao scandisk do Windows. Na maioria dos casos o fsck automaticamente corrigirá os blocos defeituosos e os demais problemas, mas em alguns casos de maior danificação o programa o força a uma checagem manual, diretamente pela linha de comando. 

Você saberá quando é necessário executar o fsck manualmente quando durante sua inicialização, o Linux parar e exibir uma mensagem de erro do fsck, que será similar a: 

Give root password for maintenance
(or type Control-D for normal startup):


O prompt exibido lhe solicitará a senha do root para entrar no modo de manutenção. Você também tem a opção de pressionar as teclas Ctrl+D para ignorar os erros e tentar iniciar o Linux normalmente, mas se você escolher esta opção, provavelmente a máquina será reinicializada e retornará ao mesmo ponto onde parou, ou seja, na mensagem de erro. Após digitar a senha do root você cairá na linha de comando (prompt) em modo "single user", que significa que os serviços (Apache, Bind, Samba, etc) ainda não foram inicializados. Observe a mensagem de erro gerada pelo fsck, um pouco acima do prompt será exibido o dispositivo que apresenta os erros no sistema de arquivos. Supondo que o problema esteja em /dev/hda1, execute: # e2fsck -y /dev/hda1 A opção "-y" é usada para assumir "yes" em todas as questões que podem surgir durante a fase de correção do sistema de arquivos. Seu uso é opcional, mas recomendável. 

Terminada a execução do fsck, reinicialize a máquina com o comando: 

# reboot 

Pronto! Seu Linux inicializará normalmente agora. 

Resumindo, você tem que digitar a senha do root para entrar na linha de comando e depois executar: 

# e2fsck /dev/hdxx (onde xx indica a partição com problema) 

Para lista todas as partições dos HDs de seu computador, digite: 

# fdisk -l 

Para descobrir as opções do fsck, digite o comando sem argumentos: 

# e2fsck 

Ou é claro, consulte sua página de manual: 

# man fsck 

Nota: o fsck suporta vários tipos de sistema de arquivos, daí a explicação para o comando "e2fsck", ele é um alias para o comando "fsck" para sistema de arquivo do tipo ext2, "e2" vem de "extended 2 file system". 



Sistema de arquivos ext3

É muito comum o uso de partições com a nova geração do extended file system, o ext3. Caso sua partição seja desse tipo, ao invés de usar "e2fsck", use: 

# fsck.ext3 /dev/hda1 

Substitua /dev/hda1 pela partição correta no seu HD. Responda "sim", "yes" ou "y" para todas as perguntas (ou é claro, use "fsck.ext3 -y") e quando terminar reinicialize o micro com reboot e pronto. 

Recomendação: não execute o comando fsck em partição montada. 

quinta-feira, 13 de setembro de 2012

Usando CSS para criar efeitos avançados de texto


A propriedade text-shadow está por ai a algum tempo já e é usada para recriar efeitos de Drop Shadow comuns do photoshop, adicionando sombras, e ajudando a criar profundidade, dimensão e sobresair os elementos da página. Esses efeitos comuns não são todas as propriedades que a propriedade Text-Shadow é capaz, sendo criativo e brincando um pouco com as cores, offset e blur nós podemos criar alguns efeitos bem bonitos e interessantes.

View the text-shadow effects
Saquem só esses seis efeitos de vintage/retro, inset, anaglyphic, fogo e board game nesse demo, então copie os códigos abaixo para criar esses efeitos em seus projetos. É necessário citar que você precisa de um browser moderno (Safari, Chrome, Firefox) para ver os efeitos em sua total gloria.
Veja a demo

CSS - DIV com cantos arredondados com Sombreamento de Fundo e cor em Degradê

Segue um exemplo de como fazer uma DIV com cantos arredondados, sombreamento de fundo com cor em degradê

Entre as tags <header>  </header> coloque código do CSS.


<style type="text/css">
.box {
/*Degrade*/
   background: -moz-linear-gradient(#CC0000, #990000) no-repeat scroll 0 0 transparent;
/*cantos arredondados*/
   border-radius: 5px 5px 5px 5px;
/*Sobreamente*/
   box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);

width:15%;
margin:0 0 0 0px;
}
</style>

Entre as tags <body>  </body> coloque a DIV.

<div class="box" style="height:300px; margin-top:50px; margin-left:50px;" >CSS - DIV com cantos arredondados e Sombreamento de Fundo e cor em Degradê</div>

terça-feira, 11 de setembro de 2012

Detectando a resolução da tela com Javascript

O código abaixo detecta a resolução da tela (largura x altura) do usuário e emite uma mensagem com a resolução detectada.

Dentro das tags <head> .. </head> coloque o código abaixo:


<script type="text/javascript">
//pega a largura da resolução da tela
var width = screen.width;
//pega a altura da resolução da tela
var height = screen.height;
        //mostra um alerta com a resolução da sua tela.
alert("A resolução da tela do seu monitor é " + width + "x" + height + ".");
</script>


GOOGLE FONTS DIRECTORY, SAIA DO PADRÃO!

Você que sempre quiz usar uma fonte diferente no seu site, sair de vez do padrão, Arial, Times, Tahoma…ficará muito feliz com essa noticia, o Google Font Directory permite que você utilize todas as fontes disponíveis através da API do Google Font. Todas as fontes no diretório estão disponíveis para uso em seu site sob uma licença open source e são fornecidos por servidores da Google. para usá-las basta fazer o seguinte, siga até o Google Fonts Directory, selecione umas das 20 fontes disponiveis, clique em Get the code, feito isso aparecerá as opções de vinculação de código, por exemplo:

Este link você cola dentro das tags:  <head></head>

<link href='http://fonts.googleapis.com/css?family=Josefin+Sans+Std+Light'  rel='stylesheet' type='text/css'>


Depois copie o código para o arquivo CSS, e cole onde achar necessário:


font-family: 'Josefin Sans Std Light', arial, serif;
Veja um exemplo neste link

Funciona no IE6 também (\O/), por enquanto tem um numero limitado de fontes, mas logo, logo, terá a possibilidade de enviar fontes para utilização , lembrando que com o CSS3 já é possivel fazer isso com a propriedade @font-face.

Templates para CMS Joomla

Se você é desenvolvedor, é melhor que tente entender como funciona o Joomla e tente criar o próprio template, pois quando usamos um template pronto sempre vem com muitos códigos e arquivos que provavelmente em seu projeto mesmo personalizando interferirão no desempenho do seu site. Um código todo desenvolvido por você ficará mais leve e só carregará o que realmente necessita, otimizando o desempenho do seu site.

Veja este artigo de como criar templates para Joomla : Como fazer template em Joomla?

Empresas que desenvolvem templates realmente profissionais com preço acessível.



TEMPLATES JOOMLA GRÁTIS

  • Site Ground – O site tem 49 templates grátis.
  • Joomla Shack – Oferece 14 templates grátis para o Joomla.
  • Joomla Templates – Oferece 12 Templates gratuitos para o Joomla.
  • Joomla 24 – Segundo o site, eles possuem mais de 1500 templates gratuitos para o Joomla.
  • Joomla Designs – Oferece 11 templates gratuitos.
  • Joomla TP – Oferece centenas de templates gratuitos.
  • Themza – Oferece 8 templates grátis.
  • Joomlart – Oferece 58 templates grátis.
  • Best of Joomla – Oferece centenas de templates gratuitos.
  • Themes Base – Oferece centenas de templates gratuitos.
  • Joomla 2 U – Oferece mais de 500 templates gratuitos.

quarta-feira, 5 de setembro de 2012

Objeto Database do Joomla 1.5

O objeto database do Joomla 1.5 possui alguns métodos que facilitam a vida dos programadores de extensões (componentes, módulos e plugins).

O básico

Bem, o básico do objeto Database é o seguinte: quando o Joomla 1.5 é iniciado, ele precisa fazer uma série de consultas à sua base de dados, senão nem consegue "entrar no ar". Para fazer estas consultas, o sistema cria um objeto database. Se este objeto já existe, não há a necessidade de criar um objeto do mesmo tipo para suprir nossas necessidades - basta chamá-lo por referência. Para invocar qualquer objeto por referência usa-se o marcador &. No caso, para obter este objeto, o código é o seguinte:

$db =& JFactory::getDBO();
 
Curtinho e prático, e nosso objeto de desejo está incorporado a $db 
De posse do $db podemos fazer uma porção de estripulias.

Colhendo os frutos

Com o objeto Database à disposição podemos fazer uma query (pergunta) ao banco de dados e depois colher as respostas. Para colocar uma pergunta chama-se (com ->) o método setQuery() através deste objeto. Por exemplo:

$db->setQuery('SELECT * FROM #__content');
 
Depois da query colocada, podemos consultar vários resultados. Por exemplo, se quisermos apenas o valor do primeiro campo da primeira linha do conjunto de resultados, é só usar o método loadResult:

$db =& JFactory::getDBO();
$db->setQuery('SELECT * FROM #__content');
$pergunta = $db->loadResult();
 
Se quisermos todos os campos da primeira linha do conjunto de resultados, então é preciso chamar:

$pergunta = $db->loadResultArray();
 
que coloca os resultados encontrados num array. Se preferir um objeto cujas propriedades sejam os nomes dos campos, você pode executar a query com:

$objeto = null;
$db->loadObject( $objeto );
 
Agora $objeto->title é o título do primeiro artigo achado, $objeto->alias é o apelido do artigo e assim por diante. Quando o objeto for null, este método cria o objeto e lhe atribui as propriedades com os valores da primeira linha encontrada.
Mas, se quisermos um array de objetos com todos os artigos da tabela, devemos fazer o seguinte:

$db =& JFactory::getDBO();
$db->setQuery('SELECT * FROM #__content');
$pergunta = $db->loadObjectList();
foreach( $pergunta as $artigo) {
   echo "$artigo->title: $artigo->alias"
}
 
Este trecho de código vai listar todos os títulos e todos os alias dos artigos existentes na tabela de artigos.
Pois bem, e se eu quiser apenas que uma query atualize algum campo de alguma tabela da base de dados? Aí é mais fácil:

$db =& JFactory::getDBO();
$query = "UPDATE TABLE #__content SET title='Novo título' WHERE id=1";
$db->setQuery( $query );
$db->query();
 
Observe que a query foi colocada numa variável, a $query. Depois, esta variável foi usada como parâmetro em setQuery(). Isto não é obrigatório, mas deixa o código um pouco mais claro. Uma vez colocada a query, ela pode (e deve) ser acionada pelo método query(). Aí está tudo em riba smile

Mais algumas mordomias

Além de buscar resultados de pesquisas, também podemos usar o objeto database para fornecer alguns valores extras. Por exemplo:

$db->getEscaped( "pingo d'água" );
 
prepara strings com caracteres especiais (como é o caso do apóstrofo) para que sejam aceitas pelo banco de dados sem darem erro. O método acima transforma "pingo d'água" em "pingo d\'água".
O método getNullDate fornece uma "data e hora" zerada, ou seja, 000-00-00 00:00:00

$db->getNullDate();
 
Se quisermos saber quantas linhas foram produzidas pela última query que foi acionada, o método é:

$db->getNumRows()
 
Para fazer tratamento de erros podemos usar o seguinte:

if( $db->getErrorNum() ) {
   echo $db->getErrorMsg();
}


fonte : http://www.numaboa.com.br/informatica/tutos/joomla/957-objeto-database

segunda-feira, 3 de setembro de 2012

Como utilizar sessões (session) em Joomla! 1.5 usando o API do Joomla ?


  • Isto pode ser obtido utilizando o objeto JFactory / getSession
  • Instanciar o objeto getSession
$session =& JFactory::getSession();

  • Aqui estão alguns parâmetros que você pode usar. eles são:
  • name - O nome da sessão
  • id - Um ID unico da sessão
  • expire - Data de validade e tempo
  • security - opções separados por vírgulas

  • Agora vamos definir a sessão
$session->set( 'mySession', 'sessionValue' );


  • Pegar o valor da variável de sessão da seguinte forma
$session->get( 'mySession');


terça-feira, 14 de agosto de 2012

PHP Função Anti SQL Injection

Uma função básica porém muito importante para que vai fazer um trabalho com PHP envolvendo Banco de Dados.
Um pouco de Conceito sobre a técnica de SQL Injection:
Injeção de SQL, mais conhecida através do termo americano SQL Injection, é um tipo de ameaça de segurança que se aproveita de falhas em sistemas que interagem com bases de dados via SQL. A injeção de SQL ocorre quando o atacante consegue inserir uma série de instruções SQL dentro de uma consulta (query) através da manipulação das entrada de dados de uma aplicação.
Fonte: http://pt.wikipedia.org/wiki/Injeção_de_SQL
Agora vamos ao mais importante, o código:

 function noSqlInjection($string){
  
        $string = trim($string);
        $string =str_replace("'","",$string);//aqui retira aspas simples <'>
        $string =str_replace("\\","",$string);//aqui retira barra invertida<\\>
        $string =str_replace("UNION","",$string);//aqui retiro  o comando UNION <UNION>
      
        $banlist = array(" insert", " select", " update", " delete", " distinct", " having", " truncate", "replace"," handler", " like", " as ", "or ", "procedure ", " limit", "order by", "group by", " asc", " desc","'","union all", "=", "'", "(", ")", "<", ">", " update", "-shutdown",  "--", "'", "#", "$", "%", "¨", "&", "'or'1'='1'", "--", " insert", " drop", "xp_", "*", " and");
        // ---------------------------------------------
        if(eregi("[a-zA-Z0-9]+", $string)){
                $string = trim(str_replace($banlist,'', strtolower($string)));
        }
      
        return $string;
      
    }//END function noSqlInjection($string)

quinta-feira, 9 de agosto de 2012

Lista de Componentes Joomla


Segue abaixo uma lista de alguns bons componentes para joomla!

ChronoForms – Formulário de Contatos funciona nas versões 1.5, 1.6, 1.7, 2.5 http://extensions.joomla.org/extensions ... 9mb3JtIjt9

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

CkForms - Formulário de Contatos funciona na versão 1.5 http://extensions.joomla.org/extensions ... Zvcm1zIjt9

-----------------------------------------------------------------------------------------------------------
JCE Editor – Para mim o melhor editor que existe no joomla, aconselho que instale junto o plugin JCE Media Box funciona nas versões 1.5, 1.7, 2.5 http://www.joomlacontenteditor.net/downloads

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

ccNewsletter – Newsletter na minha opinião o componente mais simples de newsletter que existe para joomla. http://extensions.joomla.org/extensions ... V0dGVyIjt9

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

MorfeoShow – Galeria de Fotos funciona na versão 1.5 http://extensions.joomla.org/extensions ... sions/7697

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

Zoo – Componente para criação de Blogs Funciona nas versões 1.5 e 2.5 http://www.yootheme.com/zoo/downloads/d ... out=single

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

Virtuemart – Componente para Loja Virtual funciona nas versões 1.5, 1.7, 2.5 http://virtuemart.net/downloads

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

YoutubeGallery – Componente para galeria de vídeos funciona nas versões 1.5, 1.6, 1.7, 2.5 http://extensions.joomla.org/extensions ... xsZXJ5Ijt9

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

Community Builder – Componente para criar comunidades tipo Orkut funciona nas versões 1.5, 1.6, 1.7, 2.5 http://extensions.joomla.org/extensions ... nities/210

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

Extplorer – Você pode usá-lo para acessar e modificar os arquivos e diretórios em seu servidor através de acesso a arquivos FTP diretamente pelo seu joomla funciona nas versões 1.5, 1.6, 1.7, 2.5 http://extensions.joomla.org/extensions ... ZXIiO30%3D

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

Akeeba – Componente para backup do seu joomla, com ele você pode transportar com muito mais segurança seu site, funciona nas versões 1.5, 1.6, 1.7, 2.5 http://extensions.joomla.org/extensions ... YmEiO30%3D

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

Swmenufree – ferramenta para facilitar o desenvolvimento de menus e submenus, funciona nas versões 1.5, 1.6, 1.7, 2.5 http://extensions.joomla.org/extensions ... I7fQ%3D%3D

Medidas de Segurança na programação Joomla

Image Antes de começar a programar componentes, módulos ou mambots/plugins para o Joomla, é bom conhecer algumas precauções que devem ser tomadas para evitar que seu site se torne um alvo fácil para crackers que adoram explorar falhas de segurança.

SAMBA - Criando uma área publica para seus usuarios

Veja a baixo a minha configuração para este tipo de area: 

Estou utilizando o Ubuntu Server 12 para este tutorial

Primeiro edite o arquivo do servidor SAMBA  - vi /etc/samba/smb.conf

Na última linha do arquivo smb.con adicione as linhas abaixo que estao em negrito.


[publico]
        comment = Publico
        path = /home/publico
        force directory mode = 777
        directory mode = 777
        force create mode = 777
        create mode = 777
        writeable = yes
        veto files = /*.mp3/*.wmv/*.wma/*.ogg/*.pif/*.scr/*.cmd/*.bas/*.bat/*.inf/*.exe/*.src/*.avi/*.mpeg


O "veto files" serve para dizer ao servidor para não aceitar a gravação dos arquivos com determinadas extensões, pode ser qualquer extensão que você colocar, conforme exemplo acima.


OBS: Não esqueca de criar a pasta que você queira compartilhar, exemplo :

mkdir /home/publico
chmod 777 /home/publico -R

quarta-feira, 1 de agosto de 2012

JPATH e $_SERVER - Como obter o caminho

Caso queira descobrir de forma rápida qual variável quer usar para achar o caminho dos seus arquivos, pode incluir os códigos abaixo:



01.echo 'Joomla JPATH';
02.echo "<table border=\"1\">";
03.echo "<tr><td>" . DS ."</td><td>DS</td></tr>";
04.echo "<tr><td>" . JPATH_ADMINISTRATOR ."</td><td>JPATH_ADMINISTRATOR</td></tr>";
05.echo "<tr><td>" . JPATH_BASE ."</td><td>JPATH_BASE</td></tr>";
06.echo "<tr><td>" . JPATH_CACHE ."</td><td>JPATH_CACHE</td></tr>";
07.echo "<tr><td>" . JPATH_COMPONENT ."</td><td>JPATH_COMPONENT</td></tr>";
08.echo "<tr><td>" . JPATH_COMPONENT_ADMINISTRATOR ."</td><td>JPATH_COMPONENT_ADMINISTRATOR</td></tr>";
09.echo "<tr><td>" . JPATH_COMPONENT_SITE ."</td><td>JPATH_COMPONENT_SITE</td></tr>";
10.echo "<tr><td>" . JPATH_CONFIGURATION ."</td><td>JPATH_CONFIGURATION</td></tr>";
11.echo "<tr><td>" . JPATH_INSTALLATION ."</td><td>JPATH_INSTALLATION</td></tr>";
12.echo "<tr><td>" . JPATH_LIBRARIES ."</td><td>JPATH_LIBRARIES</td></tr>";
13.echo "<tr><td>" . JPATH_PLUGINS ."</td><td>JPATH_PLUGINS</td></tr>";
14.echo "<tr><td>" . JPATH_ROOT ."</td><td>JPATH_ROOT</td></tr>";
15.echo "<tr><td>" . JPATH_SITE ."</td><td>JPATH_SITE</td></tr>";
16.echo "<tr><td>" . JPATH_THEMES ."</td><td>JPATH_THEMES</td></tr>";
17.echo "<tr><td>" . JPATH_XMLRPC ."</td><td>JPATH_XMLRPC</td></tr>";
18.echo "</table>";
19.  
20.echo 'PHP $_SERVER';
21.echo ' <!-- By jeffwk on http://www.php.net/manual/en/reserved.variables.server.php#91080 -->';
22.echo "<table border=\"1\">";
23.echo "<tr><td>" .$_SERVER['argv'] ."</td><td>argv</td></tr>";
24.echo "<tr><td>" .$_SERVER['argc'] ."</td><td>argc</td></tr>";
25.echo "<tr><td>" .$_SERVER['GATEWAY_INTERFACE'] ."</td><td>GATEWAY_INTERFACE</td></tr>";
26.echo "<tr><td>" .$_SERVER['SERVER_ADDR'] ."</td><td>SERVER_ADDR</td></tr>";
27.echo "<tr><td>" .$_SERVER['SERVER_NAME'] ."</td><td>SERVER_NAME</td></tr>";
28.echo "<tr><td>" .$_SERVER['SERVER_SOFTWARE'] ."</td><td>SERVER_SOFTWARE</td></tr>";
29.echo "<tr><td>" .$_SERVER['SERVER_PROTOCOL'] ."</td><td>SERVER_PROTOCOL</td></tr>";
30.echo "<tr><td>" .$_SERVER['REQUEST_METHOD'] ."</td><td>REQUEST_METHOD</td></tr>";
31.echo "<tr><td>" .$_SERVER['REQUEST_TIME'] ."</td><td>REQUEST_TIME</td></tr>";
32.echo "<tr><td>" .$_SERVER['QUERY_STRING'] ."</td><td>QUERY_STRING</td></tr>";
33.echo "<tr><td>" .$_SERVER['DOCUMENT_ROOT'] ."</td><td>DOCUMENT_ROOT</td></tr>";
34.echo "<tr><td>" .$_SERVER['HTTP_ACCEPT'] ."</td><td>HTTP_ACCEPT</td></tr>";
35.echo "<tr><td>" .$_SERVER['HTTP_ACCEPT_CHARSET'] ."</td><td>HTTP_ACCEPT_CHARSET</td></tr>";
36.echo "<tr><td>" .$_SERVER['HTTP_ACCEPT_ENCODING'] ."</td><td>HTTP_ACCEPT_ENCODING</td></tr>";
37.echo "<tr><td>" .$_SERVER['HTTP_ACCEPT_LANGUAGE'] ."</td><td>HTTP_ACCEPT_LANGUAGE</td></tr>";
38.echo "<tr><td>" .$_SERVER['HTTP_CONNECTION'] ."</td><td>HTTP_CONNECTION</td></tr>";
39.echo "<tr><td>" .$_SERVER['HTTP_HOST'] ."</td><td>HTTP_HOST</td></tr>";
40.echo "<tr><td>" .$_SERVER['HTTP_REFERER'] ."</td><td>HTTP_REFERER</td></tr>";
41.echo "<tr><td>" .$_SERVER['HTTP_USER_AGENT'] ."</td><td>HTTP_USER_AGENT</td></tr>";
42.echo "<tr><td>" .$_SERVER['HTTPS'] ."</td><td>HTTPS</td></tr>";
43.echo "<tr><td>" .$_SERVER['REMOTE_ADDR'] ."</td><td>REMOTE_ADDR</td></tr>";
44.echo "<tr><td>" .$_SERVER['REMOTE_HOST'] ."</td><td>REMOTE_HOST</td></tr>";
45.echo "<tr><td>" .$_SERVER['REMOTE_PORT'] ."</td><td>REMOTE_PORT</td></tr>";
46.echo "<tr><td>" .$_SERVER['SCRIPT_FILENAME'] ."</td><td>SCRIPT_FILENAME</td></tr>";
47.echo "<tr><td>" .$_SERVER['SERVER_ADMIN'] ."</td><td>SERVER_ADMIN</td></tr>";
48.echo "<tr><td>" .$_SERVER['SERVER_PORT'] ."</td><td>SERVER_PORT</td></tr>";
49.echo "<tr><td>" .$_SERVER['SERVER_SIGNATURE'] ."</td><td>SERVER_SIGNATURE</td></tr>";
50.echo "<tr><td>" .$_SERVER['PATH_TRANSLATED'] ."</td><td>PATH_TRANSLATED</td></tr>";
51.echo "<tr><td>" .$_SERVER['SCRIPT_NAME'] ."</td><td>SCRIPT_NAME</td></tr>";
52.echo "<tr><td>" .$_SERVER['REQUEST_URI'] ."</td><td>REQUEST_URI</td></tr>";
53.echo "<tr><td>" .$_SERVER['PHP_AUTH_DIGEST'] ."</td><td>PHP_AUTH_DIGEST</td></tr>";
54.echo "<tr><td>" .$_SERVER['PHP_AUTH_USER'] ."</td><td>PHP_AUTH_USER</td></tr>";
55.echo "<tr><td>" .$_SERVER['PHP_AUTH_PW'] ."</td><td>PHP_AUTH_PW</td></tr>";
56.echo "<tr><td>" .$_SERVER['AUTH_TYPE'] ."</td><td>AUTH_TYPE</td></tr>";
57.echo "</table>";
E obter algo semelhante a isto:
Joomla JPATH and PHP $_SERVER

Adicionando uma tarefa agendada no cron do VMware ESXi 5

Isto explica como adicionar uma tarefa agendada para o VMware, de tal forma que ele ainda estará lá após reinicializações.

Depois de ter ativado o acesso ssh para o seu ESXi 5, ssh como root.

Em primeiro lugar, adicione o cron job para o crontab de root:


  1. Edite o arquivo vi /var/spool/cron/crontabs/root
  2. Adicione a linha (tudo em uma linha)
    59  3    *   *   *   /backupScripts/./backupVMs.sh' >> /var/spool/cron/crontabs/root >  camihdo/do/seu/arquivo_de_log 2>&1
  3. Execute o seguinte comando "cat /var/run/crond.pid"
    Isso vai imprimir o número do processo em execução crond, exemplo: 12345
  4. Execute o comando "kill 12345"
    onde "12345deve ser substituído com a saída número pelo comando anterior

Agora, adicione um comando para /etc/rc.local para re-gerar o agendamento na cron quando ESXi 5 for reiniciado.

  1. Edite o arquivo /etc/rc.local, usando este comando "vi /etc/rc.local".
  2. No final do arquivo, adicionar 3 linhas conforme abaixo. O primeiro comando "mata" o processo da cron, o segundo adiciona o cron job novo para o arquivo crontab de root, o último reinicia a cron:
    /bin/kill $(cat /var/run/crond.pid)
    /bin/echo '59  3    *   *   *   /backupScripts/./backupVMs.sh' >> /var/spool/cron/crontabs/root >  camihdo/do/seu/arquivo_de_log 2>&1' >> /var/spool/cron/crontabs/root
    /bin/busybox crond
  3. Salve e saia do editor (Pressione a tecla "Esc" depois ": wq" e pressione "Enter" no vi)
OBS: Toda vez que você alterar o agendamento da cron, lembre-se de atualizar o /etc/rc.local.


Obrigado espero ter ajudado.