Authenticators are fine but u2f keys are better because they protect against phishing.
adb backup com.google.android.apps.authenticator2
all the codes are stored in the sqlite3 database which you can open with standard command line tools.there are also more user friendly backup apps such as helium, but adb works quite nicely.
If you're into cryptocurrency, the Trezor will also act as a U2F device.