garfield

[PHP]: Fazendo backup huawei via php

Feb 14th, 2018 (edited)
279
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.19 KB | None | 0 0
  1. <?php
  2.  
  3.     /*
  4.         *
  5.         *
  6.         *   @Author: Glaubert Suyan Dacio
  7.         *   @Data: 14/02/2018 - for Ateky Internet
  8.         *   @Description:
  9.         *   Backup automático de switches e roteadores Huawei pelo protocolo FTP. Para o script funcioanr perfeitamente
  10.         *   é necessário que esteja ativo o protocolo FTP no servidor que rodará ele e também no switch.
  11.         *
  12.         *
  13.     */
  14.  
  15.  
  16.     header("Content-type: text/html; charset=utf-8");
  17.  
  18.     // Configurações do servidor de FTP
  19.     define("DEFAULT_FTP_TRANSFER_MODE",     FTP_BINARY); // modo que os arquivos serão enviados / baixados
  20.     define("DEFAULT_FTPSERVER_ADDRESS",     "192.168.0.1"); // endereço do nosso servidor ftp
  21.     define("DEFAULT_FTPSERVER_USERNAME",    "admin"); // usuario ftp do servidor ftp
  22.     define("DEFAULT_FTPSERVER_PASSWD",      "admin"); // senha do ftp do servidor ftp
  23.     define("DEFAULT_FTPSERVER_PORT",        0x15); // porta default do servidor ftp
  24.     define("DEFAULT_FTPTIMEOUTCONNECT",     0x5); // tempo que tentará fazer uma conexão
  25.     define("DEFAULT_FTPHUAWEIPORT",         0x15); // porta padrão do FTP huawei
  26.    
  27.  
  28.     $Huawei = array (
  29.         array("IP_SW_HUAWEI",    "USUARIO_FTP",     "SENHA_FTP", "vrpcfg.zip", "Switch_WHATEAVER") // Uru
  30.  
  31.     );
  32.  
  33.  
  34.     for($i = 0; $i < sizeof($Huawei); $i++){
  35.    
  36.         if(!($sessao_ftp = @ftp_connect($Huawei[$i][0], DEFAULT_FTPHUAWEIPORT, DEFAULT_FTPTIMEOUTCONNECT))){
  37.             echo "Não foi possível iniciar uma sessão com o IP: ". $Huawei[$i][0]. "\n";
  38.             //ftp_close($sessao_ftp);
  39.             continue;
  40.         }
  41.  
  42.         if(!@ftp_login($sessao_ftp, $Huawei[$i][1], $Huawei[$i][2])){
  43.             echo "Não foi possível logar ao ip ". $Huawei[$i][0].", usuario e senha incorretos. \n";
  44.             continue;
  45.         }
  46.  
  47.         $arquivo =  $Huawei[$i][4]."-".$Huawei[$i][0]."-".date("MdY").(strpos($Huawei[$i][3], ".zip") ? (".zip") : (".cfg"));
  48.         if(!@ftp_get($sessao_ftp, $arquivo,  $Huawei[$i][3], DEFAULT_FTP_TRANSFER_MODE))
  49.         {
  50.             echo "Não foi possível baixar o arquivo de configuração do ip ". $Huawei[$i][0]. "\n";
  51.         }
  52.  
  53.         echo "Sessão FTP com ".$Huawei[$i][0]. (ftp_close($sessao_ftp) ? (" foi") : (" não foi"))." finalizada. \n";
  54.  
  55.         if(!($sessao_ftp = ftp_connect(DEFAULT_FTPSERVER_ADDRESS, DEFAULT_FTPSERVER_PORT))){
  56.             echo "Não possível iniciar uma sessão com o IP: ". DEFAULT_FTPSERVER_ADDRESS. "\n";
  57.             ftp_close($sessao_ftp);
  58.             continue;
  59.         }
  60.  
  61.         if(!@ftp_login($sessao_ftp, DEFAULT_FTPSERVER_USERNAME, DEFAULT_FTPSERVER_PASSWD)){
  62.             echo "Não foi possível logar no servidor ". DEFAULT_FTPSERVER_ADDRESS. "\n";
  63.         }
  64.  
  65.         if(!@ftp_put($sessao_ftp, $arquivo, $arquivo, DEFAULT_FTP_TRANSFER_MODE)){
  66.             echo "Não foi possível enviar o backup para o servidor. ". DEFAULT_FTPSERVER_ADDRESS. "\n";
  67.         }
  68.  
  69.         echo "Sessão FTP com ".DEFAULT_FTPSERVER_ADDRESS. (ftp_close($sessao_ftp) ? (" foi") : (" não foi"))." finalizada. \n";
  70.         echo "O arquivo de configuração <b>".$arquivo."</b>". (unlink($arquivo) ? (" foi") : (" não foi"))." deletado. \n\n\n";
  71.     }
  72. ?>
Add Comment
Please, Sign In to add comment