2015-11-17 05:14:41 -08:00
#!/usr/bin/env php
< ? php
2016-11-21 14:12:59 -06:00
$init_modules = array ();
require realpath ( __DIR__ . '/..' ) . '/includes/init.php' ;
2016-09-14 10:53:04 -05:00
2016-09-05 07:26:38 +10:00
rrdtool_initialize ();
2015-11-17 05:14:41 -08:00
$options = getopt ( 'h:p:' );
2015-11-18 21:52:32 +00:00
$hosts = str_replace ( '*' , '%' , mres ( $options [ 'h' ]));
$ports = str_replace ( '*' , '%' , mres ( $options [ 'p' ]));
2015-11-17 05:14:41 -08:00
if ( empty ( $hosts ) && empty ( $ports )) {
2017-02-07 00:49:16 +00:00
echo " -h <device hostname wildcard> Device(s) to match (all is a valid arg) \n " ;
echo " -p <ifName widcard> Port(s) to match using ifName (all is a valid arg) \n " ;
2015-11-17 05:14:41 -08:00
echo " \n " ;
2017-02-07 00:49:16 +00:00
exit ;
}
if ( $hosts == 'all' ) {
$hosts = '' ;
}
if ( $ports == 'all' ) {
$ports = '' ;
2015-11-17 05:14:41 -08:00
}
foreach ( dbFetchRows ( " SELECT `device_id`,`hostname` FROM `devices` WHERE `hostname` LIKE ? " , array ( '%' . $hosts . '%' )) as $device ) {
echo " Found hostname " . $device [ 'hostname' ] . " ....... \n " ;
2016-06-30 10:09:16 -07:00
foreach ( dbFetchRows ( " SELECT `port_id`,`ifIndex`,`ifName`,`ifSpeed` FROM `ports` WHERE `ifName` LIKE ? AND `device_id` = ? " , array ( '%' . $ports . '%' , $device [ 'device_id' ])) as $port ) {
2015-11-17 05:14:41 -08:00
echo " Tuning port " . $port [ 'ifName' ] . " ....... \n " ;
2016-08-28 17:32:55 -05:00
$rrdfile = get_port_rrdfile_path ( $device [ 'hostname' ], $port [ 'port_id' ]);
rrdtool_tune ( 'port' , $rrdfile , $port [ 'ifSpeed' ]);
2015-11-17 05:14:41 -08:00
}
}
2016-09-14 10:53:04 -05:00
rrdtool_close ();