Command line tools
Here's a brief list of command line tools, some might be missing. If you think something is missing, feel free to ask us or send a pull request :-)
purge-ports.php
This script provides CLI access to the "delete port" function of the WebUI. This might come in handy when trying to clean up old ports after large changes within the network or when hacking on the poller/discovery functions.
LibreNMS Port purge tool
-p port_id Purge single port by it's port-id
-f file Purge a list of ports, read port-ids from _file_, one on each line
A filename of - means reading from STDIN.
Querying port IDs from the database
One simple way to obtain port IDs is by querying the SQL database.
If you wanted to query all deleted ports from the database, you could to this with the following query:
echo 'SELECT port_id, hostname, ifDescr FROM ports, devices WHERE devices.device_id = ports.device_id AND deleted = 1' | mysql -h your_DB_server -u your_DB_user -p --skip-column-names your_DB_name
When you are sure that the list of ports is correct and you want to delete all of them, you can write the list into a file and call purge-ports.php with that file as input:
echo 'SELECT port_id FROM ports, devices WHERE devices.device_id = ports.device_id AND deleted = 1' | mysql -h your_DB_server -u your_DB_user -p --skip-column-names your_DB_name > ports_to_delete
./purge-port.php -f ports_to_delete