You can change this in a simple bash/shell script using snmpset, like
snmpset -v2c -cPrivate 10.11.12.13 .1.3.6.1.4.1.17713.21.3.8.2.30.0 i 7
snmpset -v2c -cPrivate 10.11.12.13 .1.3.6.1.4.1.17713.21.4.4.0 i 1
First one sets MIR profile 7, second applies changes. (.1.3.6.1.4.1.17713.21.3.8.2.30.0=wirelessMIRSTAProfileNumber.0)
I'd worry about tracking and consistency. Unless all customers are on the same service plan, and all are getting toggled, then you'd need to track who was on what plan. (e.g. you bump a 4mbps customer to 10mbps class during the wee hours, but a 10mbps customer to 20mbps during that time - without tracking, script might take a 10mbps customer who wasn't reachable during bump-up and subsequently cut them to 4mbps) This would quickly increase the complexity of the script, obviously, so I'd tend to handle that outside the script.
That said, if you have a mysql database or something listing the IPs to change, and simply want to change them to 'x' at a given time, the two lines above are the gist of it.
Literally, you can set up a single line cron job like:
1 1 * * * for ip in $(mysql -sss radios -u smlist -e 'select ip from sm where MIR=1;');do snmpset -v2c -cPrivate $ip 1.3.6.1.4.1.17713.21.3.8.2.30.0 i 2;snmpset -v2c -cPrivate $ip.1.3.6.1.4.1.17713.21.4.4.0 i 1;done
This assumes you have a mysql database named 'radios' with a table named 'sm', and a user 'smlist' allowed to query it without password, and SNMP writeable community string 'Private'. It would run at 1:01am and find anyone whose provisioning was listed as MIR=1 and try to bump them to MIR=2 - do the same thing later (like "1 7 * * *" for 7:01am) to set them all back to MIR=1.
Everything inside the $(...) block can be changed to any command that will result in a simple text result with one IP address per line - so it could be "cat mir1SMs.txt" for example if you keep a simple text-file list of the IPs to change prepared.
j