I ran into a rather serious issue recently: a human on my team (me) intentionally (but accidentally) deleted an Amazon S3 bucket that was serving files to a WordPress site. The solution to the problem follows:
- Cry when you realize you cannot restore a deleted S3 bucket.
- Search your computer, your co-workers’ computers, your former co-workers’ computers, and your catastrophic backup system for a backup only to realize that a backup does not exist anywhere.
- Call the artist who originally-supplied the images and thank The Lord that he keeps solid backups of his historical hard drives and doesn’t delete things like a wild idiot (e.g. like me).
- Upload all the important/relevant media to WordPress via the normal WP uploader.
- Rewrite all the image and pdf urls in the database so they link up to the newly-uploaded versions:
2021/01/ => 2022/03/ 2021/02/ => 2022/03/ 2021/03/ => 2022/03/ etc.
Using REGEX with Redirection plugin:
Everything prior to 2020 with /wp-content/uploads/20\d/* Everything prior to 2022 with /wp-content/uploads/202/* Jan/Feb with /wp-content/uploads/2022/0/*
- Test everything using a 404 error app such as Integrity.
- Rethink your catastrophic backup process and note that ManageWP does not backup WP media libraries that are on S3.
- Send a “thank you” gift to the artist who saved your ass.
Again, you cannot restore a deleted Amazon S3 bucket…UNLESS you enable versioning BEFORE you delete it. S3 is about as reliable as they come but fail in the face of human errors.