Manage server restarts by (administrator) user through web interface

The (privileged/administrator) user without particular system administration knowledge and specific direct access rights to the server should be able to manage server restarts through web interface. The operating system of the server is Debian, the HTTP web server is Apache Tomcat, and the user access Java application. It should be possible that the respective user knows the next scheduled restart time, postpones or re-schedules the restart times. On the one side, it is required to allow fine-grained configuration of the exact restart times: on which dates of the month, on which days of the week, at which hour/minute, etc. On the other side, the feature should be as simple as possible: to be able to learn and to understand it within at most of ca. half an hour.
1 answer

This one is the BEST answer!

Make use of a time-based scheduler Cron, which is available on Debian (as well as on other Unix-like operating systems). Quartz offers a seamless integration with Java applications. Scheduling a particular script (e.g. restarting server) can be easily done using Cron expressions in form of a string consisting of five or six fields (separated by white space), which are respectively responsible for: minutes, hours, day of month, month, day of week, year.

1) Implement a procedure to restart server (e.g. integrated in Java application or through system script).
2) Make use of Quartz to provide Cron functionality to Java application, in particular to make use of Cron expressions.
3) Provide an option for (privileged/administrator) users to manage Cron expression string for restarting server in web interface.
4) Explain in a short summary the principle of functioning of Cron expressions, providing examples of the most common usages.