You envoke it by 'at <time>', e.g.:
# at 6:30
> shutdown -hP [Ctrl-D]
Here is where write the command being carried out .. when you're done, simply exit with a [Ctrl-D]. You wil be greeted by a message like
job 3 at 2012-06-29 6:30
The integer is the job id. You can also be more specific:
# at 6:30 monday
Jobs are executed only once. List your current at jobs with atq:
# atq
3 2012-06-29 6:30 a root
And cancel your at jobs with atrm (using the job id):
# atrm 3
Back to the problem at hand. We have a bunch of compute nodes, named *unray (i.e. bunray, gunray, funray, zunray, punray, wunray, runray,). Since I don't want to manually SSH into every node, I use SSH-keys and a for loop. All nodes mount the same /opt/folder. I put a file containing the command "shutdown -hP now" in /opt/scripts/shutdown.txt. at reads commands from a file via the -f switch. Now it is very easy to make all nodes receive the at command:
for i in b f g z p r w
do
ssh root@$i\unray at -f /opt/scripts/shutdown.txt 6:30am monday
done
Happy at'ing!