Blog

Servers & Hosting articles

Server Maintenance Checklist: Daily, Weekly and Monthly Tasks

A practical server maintenance checklist with daily, weekly, monthly and quarterly tasks, plus the Linux commands to carry each one out.

4 min read Servers & Hosting

Servers rarely fail without warning. Disks fill up gradually, certificates approach expiry for months, backups quietly start failing, and security updates pile up. A routine server maintenance checklist catches these slow problems while they are still cheap to fix. Below is a schedule that works for most Linux web and application servers, with the commands to carry out each check. Adapt the frequency to how critical each server is.

Before you start: automate what you can

A checklist is not an excuse to do everything by hand. Monitoring and alerting should catch urgent issues (a full disk, a stopped service) the moment they happen. The checklist covers what monitoring misses: reviewing trends, verifying that automation is actually working, and tasks that need human judgement.

Daily tasks

These should take a few minutes per server, or be summarised in a daily report.

  • Confirm last night's backups succeeded. Check the job log or your backup tool's status, not just the absence of an error email.
  • Review monitoring alerts from the past 24 hours, including any that cleared themselves.
  • Check disk space, especially on partitions holding logs, databases and mail queues.
  • Check that key services are running.
  • Glance at authentication failures for signs of brute-force attempts.
df -h                                  # disk usage per filesystem
systemctl --failed                     # any failed services
systemctl status nginx mysql --no-pager
journalctl -u ssh --since "24 hours ago" | grep -c "Failed password"

On RHEL-based systems the SSH unit is sshd rather than ssh.

Weekly tasks

  • Apply security updates if they are not automated, or confirm automatic updates ran.
  • Check whether a reboot is pending after kernel or library updates.
  • Review resource trends: CPU, memory, load and disk growth over the week.
  • Scan logs for recurring errors in web server, application and database logs.
  • Check the mail queue on servers that send email; a growing queue often means a deliverability or spam problem.
# Debian/Ubuntu
sudo apt update && apt list --upgradable
[ -f /var/run/reboot-required ] && echo "Reboot needed"

# RHEL/AlmaLinux/Rocky
sudo dnf check-update
sudo dnf needs-restarting -r

# Count error-level entries in the Nginx log, then read the latest ones
sudo grep -c "\[error\]" /var/log/nginx/error.log
sudo tail -n 30 /var/log/nginx/error.log

Monthly tasks

  • Test a restore of at least one file or database from backup to a separate location.
  • Review user accounts and SSH keys. Remove anyone who has left or no longer needs access.
  • Check SSL/TLS certificate expiry dates, even if renewal is automated. Our SSL checker shows the expiry date and chain for any public site.
  • Review open ports and firewall rules against what should be exposed.
  • Check log rotation is working and old logs are being compressed and deleted.
  • Review scheduled jobs for anything obsolete or failing.
  • Clean up old kernels, package caches, temporary files and unused Docker images.
sudo ss -tulpn                         # listening ports and processes
sudo ufw status numbered               # or: sudo firewall-cmd --list-all
awk -F: '$3 >= 1000 {print $1}' /etc/passwd   # regular user accounts
sudo lastlog | grep -v "Never"         # recent logins
sudo apt autoremove --purge            # old kernels and unused packages
docker system df                       # space used by Docker

From outside the server, confirm that only intended ports respond using our port checker. A database port answering publicly is a finding worth fixing the same day.

Quarterly tasks

  • Full restore test of a critical server onto a fresh machine, timing how long it takes.
  • Review software versions against end-of-life dates for the OS, PHP, Node.js, database and web server. Plan upgrades before support ends.
  • Capacity planning: project disk, memory and CPU growth for the next six to twelve months.
  • Review documentation: server inventory, network diagram, runbooks and emergency contacts.
  • Security review: SSH configuration, password policies, and a vulnerability scan.
  • Rotate credentials such as database passwords and API keys where policy requires.

A sample server maintenance checklist table

FrequencyTaskOwnerDone
DailyBackups verified, alerts reviewed, disk and services checkedOn-call admin
WeeklyUpdates applied, reboot status, log review, resource trendsServer admin
MonthlyRestore test, access review, certificates, ports, clean-upServer admin
QuarterlyFull DR test, EOL review, capacity plan, documentationIT lead

Keep a maintenance log

Record what was done, when and by whom, along with anything unusual. A simple shared document or ticket per maintenance window is enough. When something breaks, the log is often the quickest way to answer "what changed recently?", which is the first question in almost every investigation.

Plan maintenance windows

Updates that restart services or reboot the server should happen in an agreed window, announced in advance to users. For servers behind a load balancer, update one at a time so the site stays up. Always take a snapshot or confirm a fresh backup before major upgrades.

If keeping up with this schedule across several servers is more than your team can absorb, it is exactly the kind of routine work a server management service is designed to take over.

Key takeaways

  • Daily: backups, alerts, disk space and service status.
  • Weekly: updates, pending reboots, log errors and resource trends.
  • Monthly: restore tests, access reviews, certificate and port checks, clean-up.
  • Quarterly: full recovery test, end-of-life review, capacity planning and documentation.
  • Automate detection, log every change, and use the checklist to verify the automation works.

Need help with this?

Netifi helps businesses around the world with Servers & Hosting. Tell us what you are working on.