Schedules and Auto-Restarts
How to set up automatic restarts, scheduled backups, and custom commands using the schedule system on Witchly.host.
Server Management (10 articles)
On This Page
Schedules and Auto-Restarts
The schedule system lets you automate repetitive server tasks — restarts, backups, and custom commands — so you do not have to be online to keep your server running smoothly. This is especially important for games like Palworld and Rust where periodic restarts help manage memory and maintain performance.
Accessing the Schedule System
- Log in to Dashboard and select your server
- Click Schedules in the sidebar
- You will see a list of any existing schedules, or an empty list if none have been created yet
Creating a Schedule
Click Create Schedule to set up a new automated task.
Schedule Fields
- Name — A descriptive label for the schedule (e.g., “Daily Restart”, “Nightly Backup”, “Morning Wipe Warning”)
- Minute — Which minute of the hour to run (0-59)
- Hour — Which hour of the day to run (0-23, using 24-hour format)
- Day of Month — Which day of the month (1-31), or
*for every day - Month — Which month (1-12), or
*for every month - Day of Week — Which day of the week (0-6, where 0 is Sunday), or
*for every day - Enabled — Toggle the schedule on or off without deleting it
Understanding Cron Syntax
Schedules use cron timing, which may look intimidating at first but is straightforward once you understand the pattern. Each time field accepts:
- A specific number:
4means “at 4” (e.g., hour 4 = 4:00 AM) - An asterisk:
*means “every” (every minute, every hour, etc.) - A list:
0,30means “at 0 and 30” (e.g., minutes 0 and 30) - An interval:
*/6means “every 6th” (e.g., every 6 hours)
Common examples:
| Schedule | Minute | Hour | Day of Month | Month | Day of Week |
|---|---|---|---|---|---|
| Every day at 4:00 AM | 0 | 4 | * | * | * |
| Every 6 hours | 0 | */6 | * | * | * |
| Every 12 hours (midnight and noon) | 0 | 0,12 | * | * | * |
| Every day at 3:30 AM | 30 | 3 | * | * | * |
| Every Monday at 6:00 AM | 0 | 6 | * | * | 1 |
| Every hour | 0 | * | * | * | * |
All times are in UTC. Convert from your local timezone when setting up schedules. For example, 4:00 AM UTC is 9:30 AM IST or 11:00 PM EST (previous day).
Adding Tasks to a Schedule
After creating a schedule, you need to add one or more tasks that define what happens when the schedule triggers. Click on a schedule to open it, then click New Task.
Each task has:
- Action — What to do (see below)
- Time Offset — Delay in seconds before this task runs (relative to the previous task). Use this to chain tasks with delays between them.
Available Actions
Send Command — Sends a console command to the server. The exact commands available depend on your game. Common uses:
- Broadcasting a warning message to players before a restart
- Running game-specific admin commands
Send Power Action — Controls the server’s power state:
- Start — Starts the server if it is stopped
- Restart — Restarts the server (stop + start)
- Stop — Stops the server
- Kill — Force-kills the server process (use only as a last resort)
Create Backup — Creates a server backup, identical to clicking Create Backup manually in the Backups tab.
Setting Up Auto-Restarts
Automatic restarts are the most common use of the schedule system. Here is a step-by-step example for a daily restart at 4:00 AM UTC:
- Go to Schedules and click Create Schedule
- Name it “Daily Restart”
- Set: Minute
0, Hour4, Day of Month*, Month*, Day of Week* - Enable the schedule and save
- Open the schedule and click New Task
- Set Action to Send Command, enter a broadcast/say command to warn players (e.g.,
say Server restarting in 5 minutes), Time Offset:0 - Add another task: Action Send Power Action > Restart, Time Offset:
300(300 seconds = 5 minutes)
This sends a warning message, waits 5 minutes, and then restarts the server.
Restart Frequency Recommendations
| Game | Recommended Frequency | Reason |
|---|---|---|
| Palworld | Every 6-12 hours | Memory leaks cause degrading performance |
| Minecraft | Every 12-24 hours | Generally stable, but helps with garbage collection |
| Rust | Per wipe schedule | Rust has its own scheduled wipe system |
| Hytale | Every 12-24 hours | Depends on mod complexity |
Setting Up Scheduled Backups
Automated backups protect you from data loss without any manual effort:
- Create a schedule named “Daily Backup”
- Set it to run at a low-traffic time (e.g., 3:30 AM UTC — 30 minutes before your restart)
- Add a task with the action Create Backup
Running backups before restarts is a good practice. If a restart ever causes an issue, you have a fresh backup from minutes earlier.
Backup retention: The panel keeps your most recent backups based on your plan’s backup slot limit. Older backups are automatically rotated out when new ones are created. If you need to keep specific backups long-term, download them via the Backups tab before they are rotated.
Chaining Multiple Tasks
You can add multiple tasks to a single schedule with time offsets to create a sequence. For example, a restart sequence with warnings:
| Task | Action | Time Offset |
|---|---|---|
| 1 | Send Command: say Server restarting in 10 minutes | 0 seconds |
| 2 | Send Command: say Server restarting in 5 minutes | 300 seconds |
| 3 | Send Command: say Server restarting in 1 minute | 240 seconds |
| 4 | Create Backup | 60 seconds |
| 5 | Send Power Action: Restart | 30 seconds |
This gives players a 10-minute warning, a 5-minute warning, a 1-minute warning, creates a backup, and then restarts. The time offsets are cumulative from each previous task.
Managing Schedules
- Disable without deleting: Toggle the Enabled switch off to temporarily pause a schedule
- Edit timing: Click the schedule name to modify the cron fields
- Delete: Remove schedules you no longer need to keep your list clean
- Multiple schedules: You can create as many schedules as you need. It is common to have separate schedules for restarts and backups
Troubleshooting
Schedule did not run: Verify the schedule is enabled and check the cron timing. Remember that times are in UTC. Also confirm the server was online when the schedule was supposed to trigger — most actions require the server to be running.
Restart did not complete: If the server hangs during a restart, the Kill action can force it to stop. You can add a Kill action with a long time offset (e.g., 120 seconds after a Restart) as a safety net.
Backup failed: Check your disk usage. If the server is near its disk limit, backups may fail because there is not enough space to create the archive. Delete old backups or unnecessary files to free space.
If you need help setting up schedules for your specific use case, open a ticket on Discord and we will help you configure the right automation.