|
@@ -153,6 +153,7 @@ HUBZILLA_CODE=
|
153
|
153
|
HUBZILLA_REPO="https://github.com/redmatrix/hubzilla.git"
|
154
|
154
|
HUBZILLA_ADDONS_REPO="https://github.com/redmatrix/hubzilla-addons.git"
|
155
|
155
|
HUBZILLA_ADMIN_PASSWORD=
|
|
156
|
+RESTORE_HUBZILLA_SCRIPT_NAME="restorehubzilla"
|
156
|
157
|
|
157
|
158
|
# Domain name for git hosting installation
|
158
|
159
|
GIT_DOMAIN_NAME=
|
|
@@ -2595,13 +2596,13 @@ function create_backup_script {
|
2595
|
2596
|
echo -n '$1' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
2596
|
2597
|
echo "}')" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
2597
|
2598
|
echo 'if [ $used_percent -gt 95 ]; then' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
2598
|
|
- echo ' echo "Less than 5% of space remaining on backup drive"' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
|
2599
|
+ echo ' echo "Less than 5% of space remaining on backup drive"' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
2599
|
2600
|
echo ' umount $USB_MOUNT' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
2600
|
2601
|
echo ' rm -rf $USB_MOUNT' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
2601
|
2602
|
echo ' exit 6492' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
2602
|
2603
|
echo 'fi' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
2603
|
2604
|
echo '' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
2604
|
|
-
|
|
2605
|
+
|
2605
|
2606
|
echo '# MariaDB password' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
2606
|
2607
|
echo -n 'DATABASE_PASSWORD=$(cat ' >> /usr/bin/$BACKUP_SCRIPT_NAME
|
2607
|
2608
|
echo "$DATABASE_PASSWORD_FILE)" >> /usr/bin/$BACKUP_SCRIPT_NAME
|
|
@@ -3003,77 +3004,79 @@ function create_backup_script {
|
3003
|
3004
|
}
|
3004
|
3005
|
|
3005
|
3006
|
function restore_directory_from_usb {
|
3006
|
|
- echo 'function restore_directory_from_usb {' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3007
|
|
- echo " BACKUP_CERTIFICATE=$BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3008
|
|
- echo ' if [ ! -d ${1} ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3009
|
|
- echo ' mkdir ${1}' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3010
|
|
- echo ' fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
|
3007
|
+ script_name=$1
|
|
3008
|
+ echo 'function restore_directory_from_usb {' >> $script_name
|
|
3009
|
+ echo " BACKUP_CERTIFICATE=$BACKUP_CERTIFICATE" >> $script_name
|
|
3010
|
+ echo ' if [ ! -d ${1} ]; then' >> $script_name
|
|
3011
|
+ echo ' mkdir ${1}' >> $script_name
|
|
3012
|
+ echo ' fi' >> $script_name
|
3011
|
3013
|
|
3012
|
3014
|
if [[ $BACKUP_TYPE == 'obnam' ]]; then
|
3013
|
|
- echo ' obnam restore -r $USB_MOUNT/backup/${2} --to ${1}' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
|
3015
|
+ echo ' obnam restore -r $USB_MOUNT/backup/${2} --to ${1}' >> $script_name
|
3014
|
3016
|
else
|
3015
|
|
- echo ' rsyncrypto -v -d -r $USB_MOUNT/backup/${2} ${1} $USB_MOUNT/backup/${2}.keys $BACKUP_CERTIFICATE' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
|
3017
|
+ echo ' rsyncrypto -v -d -r $USB_MOUNT/backup/${2} ${1} $USB_MOUNT/backup/${2}.keys $BACKUP_CERTIFICATE' >> $script_name
|
3016
|
3018
|
fi
|
3017
|
|
- echo '}' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
|
3019
|
+ echo '}' >> $script_name
|
3018
|
3020
|
}
|
3019
|
3021
|
|
3020
|
3022
|
function restore_database {
|
3021
|
|
- echo 'function restore_database {' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
|
3023
|
+ script_name=$1
|
|
3024
|
+ echo 'function restore_database {' >> $script_name
|
3022
|
3025
|
if [[ $BACKUP_TYPE == 'obnam' ]]; then
|
3023
|
|
- echo ' RESTORE_SUBDIR="root"' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
|
3026
|
+ echo ' RESTORE_SUBDIR="root"' >> $script_name
|
3024
|
3027
|
else
|
3025
|
|
- echo ' RESTORE_SUBDIR="usb/backup/${1}data"' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3026
|
|
- fi
|
3027
|
|
- echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3028
|
|
- echo ' if [ -d $USB_MOUNT/backup/${1} ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3029
|
|
- echo ' echo "Restoring ${1} database"' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3030
|
|
- echo ' restore_directory_from_usb "/root/temp${1}data" "${1}data"' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3031
|
|
- echo ' if [ ! -f /root/temp${1}data/${RESTORE_SUBDIR}/temp${1}data/${1}.sql ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3032
|
|
- echo ' echo "Unable to restore ${1} database"' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3033
|
|
- echo ' rm -rf /root/temp${1}data' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3034
|
|
- echo ' umount $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3035
|
|
- echo ' rm -rf $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3036
|
|
- echo ' exit 503' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3037
|
|
- echo ' fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3038
|
|
- echo -n ' mysqlsuccess=$(mysql -u root --password=$DATABASE_PASSWORD ' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3039
|
|
- echo '${1} -o < /root/temp${1}data/${RESTORE_SUBDIR}/temp${1}data/${1}.sql)' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3040
|
|
- echo ' if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3041
|
|
- echo ' echo "$mysqlsuccess"' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3042
|
|
- echo ' umount $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3043
|
|
- echo ' rm -rf $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3044
|
|
- echo ' exit 964' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3045
|
|
- echo ' fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3046
|
|
- echo ' shred -zu /root/temp${1}data/${RESTORE_SUBDIR}/temp${1}data/*' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3047
|
|
- echo ' rm -rf /root/temp${1}data' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3048
|
|
- echo ' echo "Restoring ${1} installation"' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3049
|
|
- echo ' if [ ! -d /root/temp${1} ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3050
|
|
- echo ' mkdir /root/temp${1}' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3051
|
|
- echo ' fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3052
|
|
- echo ' restore_directory_from_usb "/root/temp${1}" "${1}"' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
|
3028
|
+ echo ' RESTORE_SUBDIR="usb/backup/${1}data"' >> $script_name
|
|
3029
|
+ fi
|
|
3030
|
+ echo '' >> $script_name
|
|
3031
|
+ echo ' if [ -d $USB_MOUNT/backup/${1} ]; then' >> $script_name
|
|
3032
|
+ echo ' echo "Restoring ${1} database"' >> $script_name
|
|
3033
|
+ echo ' restore_directory_from_usb "/root/temp${1}data" "${1}data"' >> $script_name
|
|
3034
|
+ echo ' if [ ! -f /root/temp${1}data/${RESTORE_SUBDIR}/temp${1}data/${1}.sql ]; then' >> $script_name
|
|
3035
|
+ echo ' echo "Unable to restore ${1} database"' >> $script_name
|
|
3036
|
+ echo ' rm -rf /root/temp${1}data' >> $script_name
|
|
3037
|
+ echo ' umount $USB_MOUNT' >> $script_name
|
|
3038
|
+ echo ' rm -rf $USB_MOUNT' >> $script_name
|
|
3039
|
+ echo ' exit 503' >> $script_name
|
|
3040
|
+ echo ' fi' >> $script_name
|
|
3041
|
+ echo -n ' mysqlsuccess=$(mysql -u root --password=$DATABASE_PASSWORD ' >> $script_name
|
|
3042
|
+ echo '${1} -o < /root/temp${1}data/${RESTORE_SUBDIR}/temp${1}data/${1}.sql)' >> $script_name
|
|
3043
|
+ echo ' if [ ! "$?" = "0" ]; then' >> $script_name
|
|
3044
|
+ echo ' echo "$mysqlsuccess"' >> $script_name
|
|
3045
|
+ echo ' umount $USB_MOUNT' >> $script_name
|
|
3046
|
+ echo ' rm -rf $USB_MOUNT' >> $script_name
|
|
3047
|
+ echo ' exit 964' >> $script_name
|
|
3048
|
+ echo ' fi' >> $script_name
|
|
3049
|
+ echo ' shred -zu /root/temp${1}data/${RESTORE_SUBDIR}/temp${1}data/*' >> $script_name
|
|
3050
|
+ echo ' rm -rf /root/temp${1}data' >> $script_name
|
|
3051
|
+ echo ' echo "Restoring ${1} installation"' >> $script_name
|
|
3052
|
+ echo ' if [ ! -d /root/temp${1} ]; then' >> $script_name
|
|
3053
|
+ echo ' mkdir /root/temp${1}' >> $script_name
|
|
3054
|
+ echo ' fi' >> $script_name
|
|
3055
|
+ echo ' restore_directory_from_usb "/root/temp${1}" "${1}"' >> $script_name
|
3053
|
3056
|
if [[ $BACKUP_TYPE == 'obnam' ]]; then
|
3054
|
|
- echo ' RESTORE_SUBDIR="var"' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
|
3057
|
+ echo ' RESTORE_SUBDIR="var"' >> $script_name
|
3055
|
3058
|
else
|
3056
|
|
- echo ' RESTORE_SUBDIR="usb/backup/${1}"' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3057
|
|
- fi
|
3058
|
|
- echo ' if [ ${2} ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3059
|
|
- echo ' if [ -d /var/www/${2}/htdocs ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3060
|
|
- echo ' if [ -d /root/temp${1}/${RESTORE_SUBDIR}/www/${2}/htdocs ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3061
|
|
- echo ' rm -rf /var/www/${2}/htdocs' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3062
|
|
- echo ' mv /root/temp${1}/${RESTORE_SUBDIR}/www/${2}/htdocs /var/www/${2}/' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3063
|
|
- echo ' if [ ! "$?" = "0" ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3064
|
|
- echo ' umount $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3065
|
|
- echo ' rm -rf $USB_MOUNT' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3066
|
|
- echo ' exit 683' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3067
|
|
- echo ' fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3068
|
|
- echo ' # Ensure that the bundled SSL cert is being used' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3069
|
|
- echo ' if [ -f /etc/ssl/certs/${2}.bundle.crt ]; then' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3070
|
|
- echo ' sed -i "s|${2}.crt|${2}.bundle.crt|g" /etc/nginx/sites-available/${2}' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3071
|
|
- echo ' fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3072
|
|
- echo ' fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3073
|
|
- echo ' fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3074
|
|
- echo ' fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3075
|
|
- echo ' fi' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3076
|
|
- echo '}' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
|
3059
|
+ echo ' RESTORE_SUBDIR="usb/backup/${1}"' >> $script_name
|
|
3060
|
+ fi
|
|
3061
|
+ echo ' if [ ${2} ]; then' >> $script_name
|
|
3062
|
+ echo ' if [ -d /var/www/${2}/htdocs ]; then' >> $script_name
|
|
3063
|
+ echo ' if [ -d /root/temp${1}/${RESTORE_SUBDIR}/www/${2}/htdocs ]; then' >> $script_name
|
|
3064
|
+ echo ' rm -rf /var/www/${2}/htdocs' >> $script_name
|
|
3065
|
+ echo ' mv /root/temp${1}/${RESTORE_SUBDIR}/www/${2}/htdocs /var/www/${2}/' >> $script_name
|
|
3066
|
+ echo ' if [ ! "$?" = "0" ]; then' >> $script_name
|
|
3067
|
+ echo ' umount $USB_MOUNT' >> $script_name
|
|
3068
|
+ echo ' rm -rf $USB_MOUNT' >> $script_name
|
|
3069
|
+ echo ' exit 683' >> $script_name
|
|
3070
|
+ echo ' fi' >> $script_name
|
|
3071
|
+ echo ' # Ensure that the bundled SSL cert is being used' >> $script_name
|
|
3072
|
+ echo ' if [ -f /etc/ssl/certs/${2}.bundle.crt ]; then' >> $script_name
|
|
3073
|
+ echo ' sed -i "s|${2}.crt|${2}.bundle.crt|g" /etc/nginx/sites-available/${2}' >> $script_name
|
|
3074
|
+ echo ' fi' >> $script_name
|
|
3075
|
+ echo ' fi' >> $script_name
|
|
3076
|
+ echo ' fi' >> $script_name
|
|
3077
|
+ echo ' fi' >> $script_name
|
|
3078
|
+ echo ' fi' >> $script_name
|
|
3079
|
+ echo '}' >> $script_name
|
3077
|
3080
|
}
|
3078
|
3081
|
|
3079
|
3082
|
function create_restore_script {
|
|
@@ -3146,9 +3149,9 @@ function create_restore_script {
|
3146
|
3149
|
echo "$DATABASE_PASSWORD_FILE)" >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3147
|
3150
|
echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3148
|
3151
|
|
3149
|
|
- restore_directory_from_usb
|
|
3152
|
+ restore_directory_from_usb /usr/bin/$RESTORE_SCRIPT_NAME
|
3150
|
3153
|
echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3151
|
|
- restore_database
|
|
3154
|
+ restore_database /usr/bin/$RESTORE_SCRIPT_NAME
|
3152
|
3155
|
echo '' >> /usr/bin/$RESTORE_SCRIPT_NAME
|
3153
|
3156
|
|
3154
|
3157
|
if [[ $BACKUP_TYPE != 'obnam' ]]; then
|
|
@@ -3902,6 +3905,166 @@ function create_restore_script {
|
3902
|
3905
|
echo 'create_restore_script' >> $COMPLETION_FILE
|
3903
|
3906
|
}
|
3904
|
3907
|
|
|
3908
|
+function create_restore_hubzilla_script {
|
|
3909
|
+ if grep -Fxq "create_restore_hubzilla_script" $COMPLETION_FILE; then
|
|
3910
|
+ return
|
|
3911
|
+ fi
|
|
3912
|
+ apt-get -y install rsyncrypto cryptsetup obnam
|
|
3913
|
+
|
|
3914
|
+ get_mariadb_password
|
|
3915
|
+ get_mariadb_hubzilla_admin_password
|
|
3916
|
+ get_mariadb_git_admin_password
|
|
3917
|
+
|
|
3918
|
+ echo '#!/bin/bash' > /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3919
|
+ echo '' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3920
|
+ echo "USB_DRIVE=$USB_DRIVE" >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3921
|
+ echo 'if [ $1 ]; then' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3922
|
+ echo ' USB_DRIVE=/dev/${1}1' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3923
|
+ echo 'fi' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3924
|
+ echo "USB_MOUNT=$USB_MOUNT" >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3925
|
+ echo '' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3926
|
+ echo "ADMIN_USERNAME=$MY_USERNAME" >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3927
|
+ echo "MY_USERNAME=$MY_USERNAME" >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3928
|
+ echo 'if [ $2 ]; then' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3929
|
+ echo ' MY_USERNAME=$2' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3930
|
+ echo 'fi' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3931
|
+ echo '' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3932
|
+ echo 'if [ ! -b $USB_DRIVE ]; then' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3933
|
+ echo ' echo "Please attach a USB drive"' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3934
|
+ echo ' exit 1' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3935
|
+ echo 'fi' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3936
|
+ echo '' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3937
|
+ echo 'if [ ! -d $USB_MOUNT ]; then' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3938
|
+ echo ' mkdir $USB_MOUNT' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3939
|
+ echo ' if [ -f /dev/mapper/encrypted_usb ]; then' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3940
|
+ echo ' rm -rf /dev/mapper/encrypted_usb' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3941
|
+ echo ' fi' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3942
|
+ echo ' cryptsetup luksClose encrypted_usb' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3943
|
+ echo ' cryptsetup luksOpen $USB_DRIVE encrypted_usb' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3944
|
+ echo ' if [ "$?" = "0" ]; then' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3945
|
+ echo ' USB_DRIVE=/dev/mapper/encrypted_usb' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3946
|
+ echo ' fi' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3947
|
+ echo -n ' mount $USB_DRIVE ' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3948
|
+ echo '$USB_MOUNT' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3949
|
+ echo 'fi' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3950
|
+ echo 'if [ ! -d $USB_MOUNT/backup ]; then' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3951
|
+ echo ' echo "No backup directory found on the USB drive."' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3952
|
+ echo ' umount $USB_MOUNT' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3953
|
+ echo ' rm -rf $USB_MOUNT' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3954
|
+ echo ' exit 2' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3955
|
+ echo 'fi' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3956
|
+ echo '' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3957
|
+
|
|
3958
|
+ echo 'echo "Checking that user exists"' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3959
|
+ echo 'if [ ! -d /home/$MY_USERNAME ]; then' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3960
|
+ echo ' echo "Username $MY_USERNAME not found. Reinstall Freedombone with this username."' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3961
|
+ echo ' umount $USB_MOUNT' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3962
|
+ echo ' rm -rf $USB_MOUNT' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3963
|
+ echo ' exit 295' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3964
|
+ echo 'fi' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3965
|
+ echo '' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3966
|
+
|
|
3967
|
+ echo 'echo "Copying GPG keys to root"' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3968
|
+ echo 'cp -r /home/$MY_USERNAME/.gnupg /root' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3969
|
+ echo '' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3970
|
+
|
|
3971
|
+ echo '# MariaDB password' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3972
|
+ echo -n 'DATABASE_PASSWORD=$(cat ' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3973
|
+ echo "$DATABASE_PASSWORD_FILE)" >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3974
|
+ echo '' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3975
|
+
|
|
3976
|
+ restore_directory_from_usb /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3977
|
+ echo '' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3978
|
+ restore_database /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3979
|
+ echo '' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3980
|
+
|
|
3981
|
+ if [[ $BACKUP_TYPE != 'obnam' ]]; then
|
|
3982
|
+ echo 'if [ -f $USB_MOUNT/backup/key.gpg ]; then' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3983
|
+ echo " if [ -f $BACKUP_CERTIFICATE.new ]; then" >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3984
|
+ echo " rm $BACKUP_CERTIFICATE.new" >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3985
|
+ echo ' fi' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3986
|
+ echo ' cp $USB_MOUNT/backup/key.gpg /root/tempbackupkey.gpg' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3987
|
+ echo " gpg /root/tempbackupkey.gpg" >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3988
|
+ echo " if [ -f /root/tempbackupkey ]; then" >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3989
|
+ echo ' echo "Backup key decrypted"' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3990
|
+ echo " cp /root/tempbackupkey $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3991
|
+ echo " shred -zu /root/tempbackupkey" >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3992
|
+ echo " chmod 400 $BACKUP_CERTIFICATE" >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3993
|
+ echo ' echo "Backup certificate installed"' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3994
|
+ echo ' else' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3995
|
+ echo ' echo "Unable to decrypt the backup key"' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3996
|
+ echo ' umount $USB_MOUNT' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3997
|
+ echo ' rm -rf $USB_MOUNT' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3998
|
+ echo ' exit 735' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
3999
|
+ echo ' fi' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4000
|
+ echo 'fi' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4001
|
+ echo '' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4002
|
+
|
|
4003
|
+ echo "if [ ! -f $BACKUP_CERTIFICATE ]; then" >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4004
|
+ echo " echo 'No backup key was found. Copy your backup key to $BACKUP_CERTIFICATE'" >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4005
|
+ echo ' umount $USB_MOUNT' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4006
|
+ echo ' rm -rf $USB_MOUNT' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4007
|
+ echo ' exit 563' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4008
|
+ echo 'fi' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4009
|
+ echo '' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4010
|
+ fi
|
|
4011
|
+
|
|
4012
|
+ BACKUP_INCLUDES_WEBSITES="no"
|
|
4013
|
+
|
|
4014
|
+ if grep -Fxq "install_hubzilla" $COMPLETION_FILE; then
|
|
4015
|
+ BACKUP_INCLUDES_WEBSITES="yes"
|
|
4016
|
+ echo "restore_database hubzilla $HUBZILLA_DOMAIN_NAME" >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4017
|
+ echo 'if [ -d $USB_MOUNT/backup/hubzilla ]; then' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4018
|
+ echo " if [ ! -d /var/www/$HUBZILLA_DOMAIN_NAME/htdocs/store/[data]/smarty3 ]; then" >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4019
|
+ echo " mkdir -p /var/www/$HUBZILLA_DOMAIN_NAME/htdocs/store/[data]/smarty3" >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4020
|
+ echo " fi" >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4021
|
+ echo " chmod 777 /var/www/$HUBZILLA_DOMAIN_NAME/htdocs/store/[data]/smarty3" >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4022
|
+ echo " chown -R www-data:www-data /var/www/$HUBZILLA_DOMAIN_NAME/htdocs/*" >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4023
|
+ echo ' if [ -d /root/temphubzilla ]; then' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4024
|
+ echo ' rm -rf /root/temphubzilla' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4025
|
+ echo ' fi' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4026
|
+ echo 'fi' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4027
|
+ echo '' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4028
|
+ fi
|
|
4029
|
+
|
|
4030
|
+ echo 'sync' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4031
|
+ echo '' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4032
|
+ echo "# Unmount the USB drive" >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4033
|
+ echo 'umount $USB_MOUNT' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4034
|
+ echo 'rm -rf $USB_MOUNT' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4035
|
+ echo '' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4036
|
+ if [[ $BACKUP_INCLUDES_WEBSITES == "yes" ]]; then
|
|
4037
|
+ echo "# Restart the web server" >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4038
|
+ echo "service nginx restart" >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4039
|
+ echo "service php5-fpm restart" >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4040
|
+ fi
|
|
4041
|
+ echo '' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4042
|
+ echo 'echo "Setting permissions"' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4043
|
+ echo 'for d in /home/*/ ; do' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4044
|
+ echo ' USERNAME=$(echo "$d" | awk -F '"'"'/'"'"' '"'"'{print $3}'"'"')' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4045
|
+ echo ' if [[ $USERNAME != "git" ]]; then' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4046
|
+ echo ' chown -R $USERNAME:$USERNAME /home/$USERNAME' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4047
|
+ echo ' fi' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4048
|
+ echo 'done' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4049
|
+ echo '' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4050
|
+
|
|
4051
|
+ echo 'if [[ $USB_DRIVE == /dev/mapper/encrypted_usb ]]; then' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4052
|
+ echo ' echo "Unmount encrypted USB"' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4053
|
+ echo ' cryptsetup luksClose encrypted_usb' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4054
|
+ echo 'fi' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4055
|
+ echo 'if [ -f /dev/mapper/encrypted_usb ]; then' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4056
|
+ echo ' rm -rf /dev/mapper/encrypted_usb' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4057
|
+ echo 'fi' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4058
|
+ echo '' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4059
|
+
|
|
4060
|
+ echo 'echo "Restore of Hubzilla from USB drive is complete. You can now remove it."' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4061
|
+ echo 'exit 0' >> /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4062
|
+ chmod 400 /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4063
|
+ chmod +x /usr/bin/$RESTORE_HUBZILLA_SCRIPT_NAME
|
|
4064
|
+
|
|
4065
|
+ echo 'create_restore_hubzilla_script' >> $COMPLETION_FILE
|
|
4066
|
+}
|
|
4067
|
+
|
3905
|
4068
|
function create_freedns_updater {
|
3906
|
4069
|
# currently inadyn doesn't work as expected with freeDNS, so this is a workaround
|
3907
|
4070
|
if grep -Fxq "create_freedns_updater" $COMPLETION_FILE; then
|