NOTE: As of Android 2.2.1 UniversalAndroot will no longer work to obtain root access. 2.2 and older had a security flaw that allowed UA to work, but 2.2.1 and later that hole has been fixed. You will need to find another method to root your phone to get this task to work.
This is a very simple task, but it your phone must have root access to accomplish. Fortunately the great guys at XDA have made this a very simple task for people with supported devices.
Download the latest version of UniversalAndroot and install it. Execute it and select root. Make sure your device is on the supported list. If it is not then you will need to find another method to root your phone.
If you are unsure how to side load Android applications then take a look at this article on Android Central about Sideload Wonder Machine.
Download and install the Locale Execute Plug-in.
Create a new task in Tasker, give it a name and select Plugin -> Execute
Edit the configuration and enter !reboot. Click Done and Apply. Open tasker, open the reboot task and click test. You'll get a prompt after 20 - 30 seconds asking if the command can run as su (super user). Check the box to always allow and select allow. Your phone will immediately reboot.
*Note: If you base this on a time context always select the TO and FROM times as the same time or phone could be put into a reboot loop.
Developed with Tasker version 1.0.9.
You can also accomplish this using the "Reboot" function in the Secure Settings Plug-In.
1. Create a new task
2. Select Plugin
3. Select Secure Settings
4. Edit the Configuration Block
5. Scroll Down to Reboot Options
6. Click on the Disk
7. Click on the Green Checkmark
You are done.