CLOUD
Guides

Server Maintenance: Monthly Checklist for Developers

CLOUD|June 10, 2025|4 min read|801 views
Server Maintenance: Monthly Checklist for Developers

Security updates, log review, disk space check, backup testing — 12 monthly tasks that protect your server from problems before they happen.

Monthly Server Maintenance Checklist: What to Do Every Month

A server you do not maintain is like a car you never change the oil in. It appears to work, but pressure accumulates until it stops at the worst possible moment. This detailed checklist will keep your server healthy and secure every month.

1. Operating System and Security Updates

Top priority. Security vulnerabilities are sometimes published and exploited within hours.

# On Ubuntu / Debian:
apt update && apt list --upgradable

# Apply security updates only (safer for production):
apt upgrade -y --with-new-pkgs

# On AlmaLinux / CentOS:
dnf check-update
dnf update -y

# Check if a reboot is required:
cat /var/run/reboot-required 2>/dev/null || echo "No reboot required"

Warning: Do not apply kernel updates automatically in production environments without prior testing.

2. Disk Space Review

Full disk space equals complete failure for most applications.

# General space overview:
df -h

# Find the largest files and directories:
du -sh /var/log/* | sort -rh | head -20
du -sh /tmp/* 2>/dev/null | sort -rh | head -10

# Clean old logs (older than 30 days):
find /var/log -type f -name "*.log" -mtime +30 -delete

# Clean unused apt packages:
apt autoremove -y && apt autoclean

Target: usage should not exceed 80%. Above 85% requires immediate intervention.

3. Backup Verification

Most important. Many set up backups and consider the matter closed. The critical mistake is not testing restoration.

# Check the most recent backup (example with rsync logs):
ls -la /var/backups/ | tail -10

# Check backup size (should be logical):
du -sh /var/backups/latest/

# Test restoring a single file monthly:
# rsync -av backup_source:file.sql /tmp/restore_test/

If you use an external backup service, verify the files actually arrived and their size is correct.

4. Resource Usage Review

# General performance summary:
top -bn1 | head -20

# Most CPU-intensive processes:
ps aux --sort=-%cpu | head -15

# Most RAM-intensive processes:
ps aux --sort=-%mem | head -15

# Disk I/O:
iostat -x 1 5

# Network statistics:
ss -s

5. System Log Review

# Recent system errors:
journalctl -p err -n 50 --no-pager

# Failed login attempts (brute force indicator):
grep "Failed password" /var/log/auth.log | tail -30

# Failed attempts count per IP:
grep "Failed password" /var/log/auth.log | awk "{print \$11}" | sort | uniq -c | sort -rn | head -10

# Status of core services:
systemctl status nginx mysql php-fpm 2>/dev/null | grep -E "Active:|●"

6. SSL Certificate Expiry Check

# Check a specific domain certificate:
echo | openssl s_client -servername yourdomain.com -connect yourdomain.com:443 2>/dev/null | openssl x509 -noout -dates

# Check a certificate file directly:
openssl x509 -enddate -noout -in /etc/ssl/certs/your_cert.pem

Let"s Encrypt renews automatically, but verify the renewal cron job is working:

certbot renew --dry-run

7. Database Optimization

# MySQL / MariaDB — analyze and repair tables:
mysqlcheck -u root -p --auto-repair --optimize --all-databases

# Review slow queries:
mysql -u root -p -e "SHOW VARIABLES LIKE "slow_query%";"

8. User Permissions Review

# Users with sudo privileges:
getent group sudo
cat /etc/sudoers.d/*

# Users who can log in:
awk -F: "(\$7 != "/usr/sbin/nologin" && \$7 != "/bin/false")" /etc/passwd

Remove any user no longer needed. Every unused privilege is a potential vulnerability.

Task Daily Weekly Monthly
Log review - Yes Yes
Security updates - Yes Yes
Disk space check Yes - -
Backup verification - Yes + Restore test
Database optimization - - Yes
Permissions review - - Yes

For companies hosting on cloud.net.sa with a managed hosting package, most of these tasks are handled automatically by the cloud.net.sa team as part of the service.


Get Started

Want to try it yourself? Choose the right hosting plan or build your custom server with the specs you need.

Share