To automate LinuxGSM you can set scheduled tasks using cronjobs, to run any command at any given time.
Commonly used scheduled tasks are:
- Automatically check for updates (update command)
- Automatically check for server crash and restart if needed (monitor command)
- Automatically keep LinuxGSM up to date (update-lgsm command)
- Automatically restart the server at a given time (restart command)
- Automatically update and restart the server (force-update command)
To access and edit your cronjobs use crontab.
crontab -e
It is possible to set up cronjobs as any user including root. The recommended way is to set up cronjobs using the game servers user account. However, If you run several game server installations on your server you may want to centrally manage cronjobs then using root.
* * * * * [/path/to/script] [command] > /dev/null 2>&1
* * * * * su - username -c '[/path/to/script] [command]' > /dev/null 2>&1
* * * * *
*/30 * * * *
0 * * * *
0 */2 * * *
30 */2 * * *
10 17 * * *
0 1 * * * 3
0 1 */5 * *
If you are not used to setting up cronjobs you can use crontab.guru as a great reference to get started.
{% hint style="info" %} Replace username and gameserver with your own details. {% endhint %}
Here is an example of a user based cronjob for a daily restart at 5 am.
0 5 * * * /home/username/gameserver restart > /dev/null 2>&1
Here is an example of a root based cronjob for a daily restart at 5 am.
0 5 * * * su - username -c '/home/username/gameserver restart' > /dev/null 2>&1
Here is an example of a user based cronjob to monitor your server every 5 minutes.
*/5 * * * * /home/username/gameserver monitor > /dev/null 2>&1
Here is an example of a root based cronjob to monitor your server every 5 minutes.
*/5 * * * * su - username -c '/home/username/gameserver monitor' > /dev/null 2>&1
Below is a recommended basic example and will do the following:
- Monitor your server every 5 minutes.
- Check for an update every 30 minutes, update and restart only if an update is detected.
- Restart and check for an update every day at 4:30 AM
- Update check and update LinuxGSM every Sunday at midnight.
*/5 * * * * /home/username/gameserver monitor > /dev/null 2>&1
*/30 * * * * /home/username/gameserver update > /dev/null 2>&1
30 4 * * * /home/username/gameserver force-update > /dev/null 2>&1
0 0 * * 0 /home/username/gameserver update-lgsm > /dev/null 2>&1