38 lines
946 B
Bash
Executable file
38 lines
946 B
Bash
Executable file
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
# Create a temporary working directory
|
|
WORK_DIR=$(mktemp -d -t gpg-backup-XXXXXXXXXX)
|
|
trap 'rm -rf "$WORK_DIR"' EXIT
|
|
cd "$WORK_DIR"
|
|
|
|
|
|
BACKUP_NAME="$(date +%Y_%m_%d)-keys-backup"
|
|
|
|
echo Exporting Secret Keys
|
|
gpg --export-secret-keys --armor > "$WORK_DIR/secret-keys.asc"
|
|
|
|
echo Exporting Public Keys
|
|
gpg --export --armor > "$WORK_DIR/public-keys.asc"
|
|
|
|
echo Exporting Trust DB
|
|
gpg --export-ownertrust > "$WORK_DIR/trust_db.txt"
|
|
|
|
echo Files created:
|
|
ls -la "$WORK_DIR"
|
|
|
|
echo Creating backup archive
|
|
tar czfv "/tmp/${BACKUP_NAME}.tar.gz" "$WORK_DIR"
|
|
echo Created "/tmp/${BACKUP_NAME}.tar.gz"
|
|
|
|
|
|
echo Encrypting backup archive
|
|
# AES256 is apparently used by NAS..
|
|
gpg --symmetric --cipher-algo AES256 "/tmp/${BACKUP_NAME}.tar.gz"
|
|
|
|
echo Cleaning up unencrypted file
|
|
rm "/tmp/${BACKUP_NAME}.tar.gz"
|
|
|
|
echo "Backup created in /tmp/${BACKUP_NAME}.tar.gz.gpg"
|
|
echo "If you are connected to NAS run 'cp /tmp/20.. /Volumes/travis/gpg_keys/'"
|