Based on here
gpg --armor --export > pub.asc
gpg --armor --export-secret-keys > priv.asc
gpg --armor --export-ownertrust > trust.asc
cp ~/.gnupg/*.conf .
tar cJf gpg-backup.txz pub.asc priv.asc trust.asc *.conf
tar xJf gpg-backup.txz
gpg --import < priv.asc
gpg --import < pub.asc
gpg --import-ownertrust < trust.asc
gpg # to create ~/.gnupg dir
cp *.conf ~/.gnupg