Forum
Merhabalar Çözümpark Ailesi,
Kurumum için yazdığım(biraraya getirdiğim) sistemi sizlerle paylaşmak isterim.
İhtiyaçlar;
- PHP çalıştırabilecek ortam: https://www.liquidweb.com/kb/how-to-install-apache-on-centos-7
- TFTP server: https://www.bo-yang.net/2015/08/31/centos7-install-tftp-server
- Arayüz: https://codepen.io/OldManJava/pen/bwupj
- Kütüphane : http://www.soucy.org/project/cisco/source.php
Şöyle bir arayüzü olacak;
Hazır Kütüphane Dosyasına Ekleyeceğiniz fonksiyon;
public function cihaz_yedegi_al($tftp_server_ip, $dosya_ismi){ $this->_send('copy running-config tftp:'); $this->_readTo('?'); $this->_send($tftp_server_ip); $this->_readTo('?'); $this->_send($dosya_ismi); $this->_readTo($this->_prompt); return $this->_data; }
Kütüphaneyi çağıracağımız php dosyası (index.php)
<?php require ('Cisco.php'); if($_POST){ $port = 22; $timeout = 10; $router_ip = $_POST['router_address']; $username = "DEGER1"; $password = "DEGER2"; $tftp_server_ip = $_POST['tftp_address']; $dosya_ismi = $_POST['dosya_ismi']; $cisco = new Cisco($router_ip, $password, $username); try{ $data1 = $cisco->connect(); echo "print1: ". $data1 . '<br>'; }catch (Exception $exception){ echo $exception; } try{ $data2 = $cisco->enable($password); echo "print2: ". $data2. '<br>'; }catch (Exception $exception){ echo $exception; } try{ $data = $cisco -> cihaz_yedegi_al($tftp_server_ip, $dosya_ismi); var_dump($data); }catch (Exception $exception){ } }else { ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Cisco Yedekleme Page</title> </head> <body> <div class="container"> <div class="row"> <div class="Absolute-Center is-Responsive"> <div id="logo-container"></div> <div class="col-sm-12 col-md-10 col-md-offset-1"> <form action="" method="post" id="loginForm"> <div class="form-group input-group"> <span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span> <input class="form-control" type="text" name='router_address' placeholder="cisco router"/> </div> <div class="form-group input-group"> <span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span> <input class="form-control" type="text" name='tftp_address' placeholder="tftp address"/> </div> <div class="form-group input-group"> <span class="input-group-addon"><i class="glyphicon glyphicon-lock"></i></span> <input class="form-control" type="text" name='dosya_ismi' placeholder="dosya ismi"/> </div> <div class="form-group"> <input type="submit" name="submit" value="YEDEKLE!" class="btn btn-def btn-block"> </div> <div class="form-group text-center"> <a href="http://huseyinbaduk.blogspot.com/">hbaduk</a> | <a href="#">MAU BIDB</a> </div> </form> </div> </div> </div> </div> </body> </html> <style> body{ background: #00589F; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00589F', endColorstr='#0073CF', GradientType=0); background: -webkit-linear-gradient(to bottom, #00589F 50%, #0073CF) !important; background: -moz-linear-gradient(to bottom, #00589F 50%, #0073CF) !important; background: -ms-linear-gradient(to bottom, #00589F 50%, #0073CF) !important; background: -o-linear-gradient(to bottom, #00589F 50%, #0073CF) !important; background: linear-gradient(to bottom, #00589F 50%, #0073CF) !important; color: white; } div.well{ height: 250px; } .Absolute-Center { margin: auto; position: absolute; top: 0; left: 0; bottom: 0; right: 0; } .Absolute-Center.is-Responsive { width: 50%; height: 50%; min-width: 200px; max-width: 400px; padding: 40px; } #logo-container{ margin: auto; width:250px; height:250px; background-image: url("logo3.png"); } </style> <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous"> <?php } ?>
DEGER1 yazan yere cisco username, DEGER2 yazan yere cisco password yazın.. Not: önceden ssh bağlantısı kurulmuş olmalı (key alışverişi için)
elinize sağlık
Merhaba
emeğinize sağlık, güzel bir çalışma olmuş.
aslında php ile falan uğraşmadan da her cihazın kendi config yedeğini almasını sağlayabilirsiniz.
Cisco switchlerde "archive" özelliği var zaten.
bir pc veya server üzerinde tftp servisini çalıştırmanız yeterli,
configure terminal;
archive
path tftp://ip_address/File/$h
time-period 10080
tftp ip adresini, belki klasörü seçebilirsiniz, $h hostname ekliyor,
time-period olarak da ne sıklıkta yedeklenmesini istiyorsanız girebilirsiniz, isterseniz 1 saat, isterseniz 1 ay
ben haftalık almak istediğim için 10080 yaptım.
Bunu bilmiyordum, çok teşekkür ederim zafer hocam, yarın denemem lazım 🙂 Peki aruba/hp switchleriniz için nasıl bir yol izliyorsunuz?