DEV Community

Tyler Russo
Tyler Russo

Posted on Originally published at skypressdigital.com

The Pre-Migration Server Audit: What to Document Before You Touch Anything

Migrating a VPS goes sideways in the same places every time — and it's never the part you expect. It's the queue worker left on the old box. The certbot renewal in root's crontab. The rsync that died on permissions.

Before you move anything, audit the old server. Here's the checklist.

Running services

systemctl list-units --type=service --state=running
ss -tlnp
Enter fullscreen mode Exit fullscreen mode

Write down everything. That random Python process on port 8000? That's serving something. Find out what before you migrate.

Cron jobs (all four places)

crontab -l                    # your user
sudo crontab -l               # root
ls /etc/cron.d/ /etc/cron.daily/ /etc/cron.hourly/
systemctl list-timers         # systemd timers (the new cron)
Enter fullscreen mode Exit fullscreen mode

Miss one and something silently stops working a week after migration.

Disk and databases

df -h
du -sh /var/www/* /home/*
mysql -e "SHOW DATABASES;"    # or psql -l for Postgres
Enter fullscreen mode Exit fullscreen mode

Know what you're moving before you start moving it.

SSL certificates

certbot certificates
ls /etc/letsencrypt/live/
Enter fullscreen mode Exit fullscreen mode

Note expiry dates and renewal method. If certbot auto-renewal is configured, that config needs to move too.

Config files

Document every customized config: nginx/apache vhosts, PHP settings, systemd units, environment files. diff against defaults if you're not sure what you changed.


This audit is Zone 1 of my VPS Migration Checklist & Runbook — 38 checkpoints across 8 zones, from this audit through cutover and the 24-hour watch afterward. The full runbook covers rsync flags, database moves, the hosts-file testing trick, and the rollback plan you write before you need it.

Top comments (0)