Embed this checklist
Want to use this checklist on your blog or magazine? Use the following code to embed it:

Template: Server Maintenance Checklist

This checklist will help you to keep track of your server maintenance tasks. Use a separate list for each server that you are responsible for. This checklist template is kept generic to accommodate many different server systems (Windows/Linux/etc).

Notice: Your checks will not be saved. Please log in or sign up to permanently manage this checklist.
Is enough Disk space available?

Is there enough free disk space available on the server or is it in risk of running out? You should always make sure that there is a safety margin.

Once  a disk runs full it can (and will) cause a variety of sometimes hard to track issues. For examples user sessions might fail randomly and databases might throw cryptic errors - to just name a few possibilities.

Are backups being created?

Making sure that the backup system is working is probably the most important server maintenance task. Backups should cover everything that you need to recover in the case of an emergency.

If you are backing up selectively instead of the whole system, make sure that you selection still covers every important bit of data.

Also make sure that the backups include all volatile data. Databases might not be reliably backuped by a simple file system backup. You need to write a database dump to disk before creating the file system backup.

The backup frequency depends on your use case. For most production servers, you will want to run backups at least daily. Highly critical systems which generate lots of new data throughout the day can even be backed up several times throughout the day.

Are backups restorable?
You should frequently test if the backups which are being created can actually be used to successfully restore the backed up data. Blindly trusting a backup just because it seems to exist can be a costly mistake. The internet is riddled with horror stories about corrupted backups - don't be one of them.

Are all hard disks in the RAID working?
Check if all hard disks are operational. In a RAID array, single hard disks can fail without being noticed. Make sure that all disks are working so that you can fix troubled disks before the next one fails.

Are all software updates installed?
Check if updates for the operating system and other software are available and install either all updates or at least all security-related updates.

Is the server load on acceptable levels?
Has the server still capacity left or is the load (CPU/RAM/IO) nearing its limits?

Are there no outdated logins?
Make sure that there are no old accounts on the server which should have been removed but weren't. For example, do all people with access to the system still work at the company?

Are there no issues reported in the log files?

Check all important logs and look for entries which indicate trouble.

Tools like logwatch (on Linux) can help you comb through the plethora of server maintenance logs and even send you frequent digests via email.

Is the monitoring working as intended?

Most server administrators have monitoring solutions in place to automatically alert them of certain issues. For example, Checkpanel's automatic checks will frequently try to access a specified URL and alert you if it is not reachable. Other tools like Nagios monitor the internal state of your systems. You should frequently check if the server monitoring tools which are set up are still working as intended.

Types of Server Maintenance

The number of server systems is so large that we could probably fill a whole section with checklist templates for each. The generic server maintenance checklist above is a great starting point but you will have to add more checks depending on your specific system.

Linux Server Maintenance

It should be fairly easy to adopt the generic tasks of this checklist to your needs for Linux server maintenance. However, if you are looking for comprehensive linux maintenance information, here are some great resources:

Database Maintenance / SQL Maintenance Plans

Databases require some additional maintenance on top of the maintenance of the host server. With MySQL, MS SQL, PostgreSQL and other systems you will have to frequently optimize/shrink tables and rotate logs. Most of these maintenance tasks are extremely repetitive and should be handled by automated scripts. Still, it is wise to frequently check if these tasks are still being executed as planned.

Windows Server Maintenance

Again, most of the generic checks on this checklist will be easy to apply to a windows server. Some further information can be found at Microsoft's TechNet: Common Administrative Tasks.