Responding to the comment:
I want to see whether the ports are being used over the period of ~1 month
your best way for this specific question is to use the logs.
They will show when a port goes UP / Down.
Example of shuch logs:
Jun 14 13:32:23.841: %LINEPROTO-5-UPDOWN: Line protocol on Interface GigabitEthernet1/0/29, changed state to down
Jun 14 13:32:24.841: %LINK-3-UPDOWN: Interface GigabitEthernet1/0/29, changed state to down
Jun 14 13:32:27.714: %LINK-3-UPDOWN: Interface GigabitEthernet1/0/29, changed state to up
For a period this long, since you have to set the logging to "notifications" at a minimum (see below) the internal logs are probably not enough. To collect the information efficiently you should configure your switch to send its logs to a syslog server.
If you don't have one you can, for example, download a docker image of syslogng, then on the switch enter:
(config)#logging host x.x.x.x (IP address of your syslog server)
(config)#logging traps (i.e 0 1 2 3 4 5 .. according to your requirement)
You can see what the trap value with the "?" contextual help:
config)#logging trap ?
<0-7> Logging severity level
alerts Immediate action needed (severity=1)
critical Critical conditions (severity=2)
debugging Debugging messages (severity=7)
emergencies System is unusable (severity=0)
errors Error conditions (severity=3)
informational Informational messages (severity=6)
notifications Normal but significant conditions (severity=5)
warnings Warning conditions (severity=4)
In your case interfaces going up / down is severity 5, but you may want to configure it higher to see other things going on on the switches.