diff options
Diffstat (limited to 'users/wpcarro/configs/.gnupg/export.sh')
-rwxr-xr-x | users/wpcarro/configs/.gnupg/export.sh | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/users/wpcarro/configs/.gnupg/export.sh b/users/wpcarro/configs/.gnupg/export.sh new file mode 100755 index 000000000000..31def2beb179 --- /dev/null +++ b/users/wpcarro/configs/.gnupg/export.sh @@ -0,0 +1,29 @@ +#!/usr/bin/env bash + +set -euo pipefail + +# Run this script to export all the information required to transport your GPG +# information. +# Usage: ./export.sh +# TODO: run this periodically as a job. + +output="$(pwd)/export.zip" +destination="$(mktemp -d)" + +function cleanup() { + rm -rf "${destination}" +} +trap cleanup EXIT + +gpg --armor --export >"${destination}/public.asc" +gpg --armor --export-secret-keys >"${destination}/secret.asc" +gpg --armor --export-ownertrust >"${destination}/ownertrust.txt" + +# Strangely enough this appears to be the only way to create a zip of a +# directory that doesn't contain the (noisy) full paths of each item from the +# source filesystem. (i.e. -j doesn't cooperate with -r) +pushd "${destination}" +zip -r "${output}" ./* +popd + +echo "$(realpath ${output})" |