How to Create & Download Droplet Snapshots⚓
One of the more difficult things to avoid when working with any vendor is vendor lock-in. In some instances, it's impossible to avoid, but avoiding it wherever possible is always a good approach.
I recently looked into the feasibility of migrating my DigitalOcean droplet to another hosting provider and found that it's harder than it seems. I found one approach, however, that can serve as an alternative to the built in snapshot capabilities of DigitalOcean.
It's worth noting that the following approach will take significant space on your server's hard drive. You should ensure there is enough room prior to beginning.
In order to make this work, you'll need to perform the following:
- SSH into your instance.
- Create a new backup directory, then navigate into it.
- Generate a
.tar.gzof your entire file system
server# tar -zcvpf /backups/img.tar.gz --directory=/ --exclude=proc --exclude=sys --exclude=dev/pts --exclude=backups .
- Once completed, assuming you have Python installed, serve the file over HTTP and download it
# python2 server# python -m SimpleHTTPServer [port] # python3 server# python3 -m http.server [port] local$ wget http://$SERVER_IP:8000/img.tar.gz