To test/troubleshoot any automatic scripts (such as rc.local), I often do a super simple operation like creating a file. So maybe something like:
touch /root/rclocal_works.txt
If that is placed a the first active line of the script and it works, I'll do something similar farther down the file... this helps me understand if rc.local is running at all and/or if it is getting hung up on something I've got in the body of the script. If it runs and creates the files but the part of the script I care about didn't work, it points to an issue with the command(s) (or permissions for an executed script), or possibly reveals that there is some other issue (such as some other process taking control over the thing I'm trying to do).