Doing it via the COP,1 only restarts Asterisk. Which can be useful
To restart the machine I'd do this :
XXXXXX = cmd,/path/to/script/restart.sh
In the restart.sh script, do whatever housekeeping you want, and then reboot.
FWIW... I have the startup macro call a function that uses localplay to have a distinctive sound file play on the air. (In my case the Doctor's TARDIS landing)
I've had Asterisk crash/restart if there's a problem at the site.
Hearing the sound notifies me it restarted for some reason.
If you use the COP,1 it would give you a confirmation that it did in fact restart.