Bladeren bron

Fixing backup script

Bob Mottram 10 jaren geleden
bovenliggende
commit
de7673faec
1 gewijzigde bestanden met toevoegingen van 14 en 5 verwijderingen
  1. 14
    5
      install-freedombone.sh

+ 14
- 5
install-freedombone.sh Bestand weergeven

168
 MY_GPG_PUBLIC_KEY=
168
 MY_GPG_PUBLIC_KEY=
169
 MY_GPG_PRIVATE_KEY=
169
 MY_GPG_PRIVATE_KEY=
170
 
170
 
171
+# optionally specify your public key ID
172
+MY_GPG_PUBLIC_KEY_ID=
173
+
171
 # If you have existing mail within a Maildir
174
 # If you have existing mail within a Maildir
172
 # you can specify the directory here and the files
175
 # you can specify the directory here and the files
173
 # will be imported
176
 # will be imported
1373
   # if gpg keys directory was previously imported from usb
1376
   # if gpg keys directory was previously imported from usb
1374
   if [[ $GPG_KEYS_IMPORTED == "yes" && -d /home/$MY_USERNAME/.gnupg ]]; then
1377
   if [[ $GPG_KEYS_IMPORTED == "yes" && -d /home/$MY_USERNAME/.gnupg ]]; then
1375
       sed -i "s|keyserver hkp://keys.gnupg.net|keyserver $GPG_KEYSERVER|g" /home/$MY_USERNAME/.gnupg/gpg.conf
1378
       sed -i "s|keyserver hkp://keys.gnupg.net|keyserver $GPG_KEYSERVER|g" /home/$MY_USERNAME/.gnupg/gpg.conf
1379
+      MY_GPG_PUBLIC_KEY_ID=$(su -c "gpg --list-keys $MY_USERNAME@$DOMAIN_NAME | grep 'pub ' | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}'" - $MY_USERNAME)
1376
       echo 'configure_gpg' >> $COMPLETION_FILE
1380
       echo 'configure_gpg' >> $COMPLETION_FILE
1377
       return
1381
       return
1378
   fi
1382
   fi
1409
       su -c "gpg --allow-secret-key-import --import $MY_GPG_PRIVATE_KEY" - $MY_USERNAME
1413
       su -c "gpg --allow-secret-key-import --import $MY_GPG_PRIVATE_KEY" - $MY_USERNAME
1410
       # for security ensure that the private key file doesn't linger around
1414
       # for security ensure that the private key file doesn't linger around
1411
       shred -zu $MY_GPG_PRIVATE_KEY
1415
       shred -zu $MY_GPG_PRIVATE_KEY
1416
+      MY_GPG_PUBLIC_KEY_ID=$(su -c "gpg --list-keys $MY_USERNAME@$DOMAIN_NAME | grep 'pub ' | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}'" - $MY_USERNAME)
1412
   else
1417
   else
1413
       # Generate a GPG key
1418
       # Generate a GPG key
1414
       echo 'Key-Type: 1' > /home/$MY_USERNAME/gpg-genkey.conf
1419
       echo 'Key-Type: 1' > /home/$MY_USERNAME/gpg-genkey.conf
1421
       chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/gpg-genkey.conf
1426
       chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/gpg-genkey.conf
1422
       su -c "gpg --batch --gen-key /home/$MY_USERNAME/gpg-genkey.conf" - $MY_USERNAME
1427
       su -c "gpg --batch --gen-key /home/$MY_USERNAME/gpg-genkey.conf" - $MY_USERNAME
1423
       shred -zu /home/$MY_USERNAME/gpg-genkey.conf
1428
       shred -zu /home/$MY_USERNAME/gpg-genkey.conf
1424
-      MY_GPG_PUBLIC_KEY_ID=$(su -c "gpg --list-keys $DOMAIN_NAME | grep 'pub ' | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}'" - $MY_USERNAME)
1429
+      MY_GPG_PUBLIC_KEY_ID=$(su -c "gpg --list-keys $MY_USERNAME@$DOMAIN_NAME | grep 'pub ' | awk -F ' ' '{print $2}' | awk -F '/' '{print $2}'" - $MY_USERNAME)
1425
       MY_GPG_PUBLIC_KEY=/tmp/public_key.gpg
1430
       MY_GPG_PUBLIC_KEY=/tmp/public_key.gpg
1426
       su -c "gpg --output $MY_GPG_PUBLIC_KEY --armor --export $MY_GPG_PUBLIC_KEY_ID" - $MY_USERNAME
1431
       su -c "gpg --output $MY_GPG_PUBLIC_KEY --armor --export $MY_GPG_PUBLIC_KEY_ID" - $MY_USERNAME
1427
   fi
1432
   fi
3643
   echo '#!/bin/bash' > /usr/bin/backup2friends
3648
   echo '#!/bin/bash' > /usr/bin/backup2friends
3644
   echo 'GPG_KEY=$1' >> /usr/bin/backup2friends
3649
   echo 'GPG_KEY=$1' >> /usr/bin/backup2friends
3645
   echo '' >> /usr/bin/backup2friends
3650
   echo '' >> /usr/bin/backup2friends
3646
-  echo 'if [ ! $GPG_KEY ]; then' >> /usr/bin/backup2friends
3647
-  echo '    echo "No GPG key specified"' >> /usr/bin/backup2friends
3651
+  echo "if [ ! -f $FRIENDS_SERVERS_LIST ]; then" >> /usr/bin/backup2friends
3648
   echo '    exit 1' >> /usr/bin/backup2friends
3652
   echo '    exit 1' >> /usr/bin/backup2friends
3649
   echo 'fi' >> /usr/bin/backup2friends
3653
   echo 'fi' >> /usr/bin/backup2friends
3650
   echo '' >> /usr/bin/backup2friends
3654
   echo '' >> /usr/bin/backup2friends
3651
-  echo "if [ ! -f $FRIENDS_SERVERS_LIST ]; then" >> /usr/bin/backup2friends
3655
+  echo 'if [ ! $GPG_KEY ]; then' >> /usr/bin/backup2friends
3656
+  echo "    echo 'Unable to perform automated backup. You need to add a GPG key to /etc/cron.daily/backuptofriends' | mail -s 'Backup failure' $MY_USERNAME@$DOMAIN_NAME" >> /usr/bin/backup2friends
3652
   echo '    exit 2' >> /usr/bin/backup2friends
3657
   echo '    exit 2' >> /usr/bin/backup2friends
3653
   echo 'fi' >> /usr/bin/backup2friends
3658
   echo 'fi' >> /usr/bin/backup2friends
3654
   echo '' >> /usr/bin/backup2friends
3659
   echo '' >> /usr/bin/backup2friends
3665
 
3670
 
3666
   # update crontab
3671
   # update crontab
3667
   echo '#!/bin/bash' > /etc/cron.daily/backuptofriends
3672
   echo '#!/bin/bash' > /etc/cron.daily/backuptofriends
3668
-  echo 'GPG_KEY=' >> /etc/cron.daily/backuptofriends
3673
+  if [ $MY_GPG_PUBLIC_KEY_ID ]; then
3674
+      echo "GPG_KEY=$MY_GPG_PUBLIC_KEY_ID" >> /etc/cron.daily/backuptofriends
3675
+  else
3676
+      echo 'GPG_KEY=' >> /etc/cron.daily/backuptofriends
3677
+  fi
3669
   echo '/usr/bin/backup2friends $GPG_KEY' >> /etc/cron.daily/backuptofriends
3678
   echo '/usr/bin/backup2friends $GPG_KEY' >> /etc/cron.daily/backuptofriends
3670
   chmod +x /etc/cron.daily/backuptofriends
3679
   chmod +x /etc/cron.daily/backuptofriends
3671
 
3680