What exactly does Linode backup do?
I've got backups enabled on my Linode for peace of mind, however I'd like to understand what they actually do, and what is backed up.
For instance, today a PHP error took all my sites offline. I rebooted from a backup snapshot taken before the changes that caused the error, thinking it would resolve things, but the error persisted?
Are there certain aspects of the server configuration that aren't covered by or included in backups?
Linode backups create a snapshot of your Linode at a point in time. The backup will contain the entire state of your linode, including your PHP configuration.
@chr0s It's possible that the backup you restored from still included the PHP changes. The Backup Service will automatically take snapshots of your Linode daily, and will save + overwrite those snapshots on a daily and weekly basis. You can get a complete picture of what I'm describing in our Backups doc here: The Linode Backup Service
It's important to note that the automatic daily backups are overwritten each day, so only the backup from the past 24 hours is available. Backups from within one week and two weeks ago are also available.
Lastly, you can take a manual snapshot backup that will persist until you overwrite it with a new manual snapshot.
If you're sure you've backed up from a snapshot prior to when your PHP changes were made, there may be a deeper issue going on. If you'd like us to take a look for any problems on our end, don't hesitate to reach out to our Support team and we'll gladly investigate.
It turned out to be an issue with port 80, which I've fixed with the help of stackoverflow but still don't fully understand.
The backup wasn't able to resolve that, although it may well have fixed the PHP issue.
Sure thing @chr0s, happy to help. That's interesting — do you mind sharing the StackOverflow post that helped you out?
Great, thanks @chr0s. Given that solution, it sounds like after you booted your restored Linode, you had another service listening over port 80 when your web server attempted to start. If this were the case, it would make sense that the solution would be to kill the process currently listening on port 80 and then restart your web server. (Just to make sure, I tested a backup restoration of a LAMP stack, and didn't run into this same issue.)
You can confirm what happened when your Linode booted up by reviewing your system logs. Here's another Community post on checking logs: How do I check my server's log files?
Depending on your distribution, you could just run
journalctl -b to quickly view your boot log and get an understanding of which processes started, and which failed. Here's our journalctl doc to help out with that: Use journalctl to View Your System's Logs
I've seen this happen most often when both Nginx and Apache are installed and enabled on the same system — one will start up and listen over port 80 before the other, which will cause the other to fail. In this case, you'll want to uninstall or disable the service you're not using so that it doesn't start on reboots and cause this issue to happen again — you can do this easily on systemd distributions with this command (replacing $service with the web server you want to disable):
systemctl disable $service