|  | @@ -87,19 +87,115 @@ function upgrade_mailpile {
 | 
	
		
			
			| 87 | 87 |  }
 | 
	
		
			
			| 88 | 88 |  
 | 
	
		
			
			| 89 | 89 |  function backup_local_mailpile {
 | 
	
		
			
			| 90 |  | -    echo -n ''
 | 
	
		
			
			|  | 90 | +    if [ ! -f /etc/systemd/system/mailpile.service ]; then
 | 
	
		
			
			|  | 91 | +        return
 | 
	
		
			
			|  | 92 | +    fi
 | 
	
		
			
			|  | 93 | +    MAILPILE_DOMAIN_NAME='mailpile.local'
 | 
	
		
			
			|  | 94 | +    if grep -q "mailpile domain" $COMPLETION_FILE; then
 | 
	
		
			
			|  | 95 | +        MAILPILE_DOMAIN_NAME=$(get_completion_param "mailpile domain")
 | 
	
		
			
			|  | 96 | +    fi
 | 
	
		
			
			|  | 97 | +    source_directory=/var/www/${MAILPILE_DOMAIN_NAME}/mail/.local
 | 
	
		
			
			|  | 98 | +    if [ -d $source_directory ]; then
 | 
	
		
			
			|  | 99 | +        systemctl stop mailpile
 | 
	
		
			
			|  | 100 | +
 | 
	
		
			
			|  | 101 | +        function_check backup_directory_to_usb
 | 
	
		
			
			|  | 102 | +        backup_directory_to_usb $source_directory mailpile
 | 
	
		
			
			|  | 103 | +
 | 
	
		
			
			|  | 104 | +        systemctl start mailpile
 | 
	
		
			
			|  | 105 | +    fi
 | 
	
		
			
			| 91 | 106 |  }
 | 
	
		
			
			| 92 | 107 |  
 | 
	
		
			
			| 93 | 108 |  function restore_local_mailpile {
 | 
	
		
			
			| 94 |  | -    echo -n ''
 | 
	
		
			
			|  | 109 | +    if [ ! -f /etc/systemd/system/mailpile.service ]; then
 | 
	
		
			
			|  | 110 | +        return
 | 
	
		
			
			|  | 111 | +    fi
 | 
	
		
			
			|  | 112 | +    MAILPILE_DOMAIN_NAME='mailpile.local'
 | 
	
		
			
			|  | 113 | +    if grep -q "mailpile domain" $COMPLETION_FILE; then
 | 
	
		
			
			|  | 114 | +        MAILPILE_DOMAIN_NAME=$(get_completion_param "mailpile domain")
 | 
	
		
			
			|  | 115 | +    fi
 | 
	
		
			
			|  | 116 | +    if [ $MAILPILE_DOMAIN_NAME ]; then
 | 
	
		
			
			|  | 117 | +        systemctl stop mailpile
 | 
	
		
			
			|  | 118 | +
 | 
	
		
			
			|  | 119 | +        temp_restore_dir=/root/tempmailpile
 | 
	
		
			
			|  | 120 | +        restore_directory_from_usb $temp_restore_dir mailpile
 | 
	
		
			
			|  | 121 | +        if [ -d /var/www/${MAILPILE_DOMAIN_NAME}/mail/.local ]; then
 | 
	
		
			
			|  | 122 | +            mv /var/www/${MAILPILE_DOMAIN_NAME}/mail/.local /var/www/${MAILPILE_DOMAIN_NAME}/mail/.previous
 | 
	
		
			
			|  | 123 | +        fi
 | 
	
		
			
			|  | 124 | +        temp_source_dir=$(find ${temp_restore_dir} -name ".local")
 | 
	
		
			
			|  | 125 | +        cp -r ${temp_source_dir} /var/www/${MAILPILE_DOMAIN_NAME}/mail/
 | 
	
		
			
			|  | 126 | +        if [ ! "$?" = "0" ]; then
 | 
	
		
			
			|  | 127 | +            if [ -d mv /var/www/${MAILPILE_DOMAIN_NAME}/mail/.previous ]; then
 | 
	
		
			
			|  | 128 | +                mv /var/www/${MAILPILE_DOMAIN_NAME}/mail/.previous /var/www/${MAILPILE_DOMAIN_NAME}/mail/.local
 | 
	
		
			
			|  | 129 | +            fi
 | 
	
		
			
			|  | 130 | +            backup_unmount_drive
 | 
	
		
			
			|  | 131 | +            exit 3685
 | 
	
		
			
			|  | 132 | +        fi
 | 
	
		
			
			|  | 133 | +        rm -rf ${temp_restore_dir}
 | 
	
		
			
			|  | 134 | +        chown -R mailpile: /var/www/$MAILPILE_DOMAIN_NAME/mail/
 | 
	
		
			
			|  | 135 | +
 | 
	
		
			
			|  | 136 | +        if [ -d /etc/letsencrypt/live/${MAILPILE_DOMAIN_NAME} ]; then
 | 
	
		
			
			|  | 137 | +            ln -s /etc/letsencrypt/live/${MAILPILE_DOMAIN_NAME}/privkey.pem /etc/ssl/private/${MAILPILE_DOMAIN_NAME}.key
 | 
	
		
			
			|  | 138 | +            ln -s /etc/letsencrypt/live/${MAILPILE_DOMAIN_NAME}/fullchain.pem /etc/ssl/certs/${MAILPILE_DOMAIN_NAME}.pem
 | 
	
		
			
			|  | 139 | +        fi
 | 
	
		
			
			|  | 140 | +
 | 
	
		
			
			|  | 141 | +        systemctl start mailpile
 | 
	
		
			
			|  | 142 | +    fi
 | 
	
		
			
			| 95 | 143 |  }
 | 
	
		
			
			| 96 | 144 |  
 | 
	
		
			
			| 97 | 145 |  function backup_remote_mailpile {
 | 
	
		
			
			| 98 |  | -    echo -n ''
 | 
	
		
			
			|  | 146 | +    if [ ! -f /etc/systemd/system/mailpile.service ]; then
 | 
	
		
			
			|  | 147 | +        return
 | 
	
		
			
			|  | 148 | +    fi
 | 
	
		
			
			|  | 149 | +    MAILPILE_DOMAIN_NAME='mailpile.local'
 | 
	
		
			
			|  | 150 | +    if grep -q "mailpile domain" $COMPLETION_FILE; then
 | 
	
		
			
			|  | 151 | +        MAILPILE_DOMAIN_NAME=$(get_completion_param "mailpile domain")
 | 
	
		
			
			|  | 152 | +    fi
 | 
	
		
			
			|  | 153 | +    source_directory=/var/www/${MAILPILE_DOMAIN_NAME}/mail/.local
 | 
	
		
			
			|  | 154 | +    if [ -d $source_directory ]; then
 | 
	
		
			
			|  | 155 | +        systemctl stop mailpile
 | 
	
		
			
			|  | 156 | +
 | 
	
		
			
			|  | 157 | +        function_check backup_directory_to_usb
 | 
	
		
			
			|  | 158 | +        backup_directory_to_friend $source_directory mailpile
 | 
	
		
			
			|  | 159 | +
 | 
	
		
			
			|  | 160 | +        systemctl start mailpile
 | 
	
		
			
			|  | 161 | +    fi
 | 
	
		
			
			| 99 | 162 |  }
 | 
	
		
			
			| 100 | 163 |  
 | 
	
		
			
			| 101 | 164 |  function restore_remote_mailpile {
 | 
	
		
			
			| 102 |  | -    echo -n ''
 | 
	
		
			
			|  | 165 | +    if [ ! -f /etc/systemd/system/mailpile.service ]; then
 | 
	
		
			
			|  | 166 | +        return
 | 
	
		
			
			|  | 167 | +    fi
 | 
	
		
			
			|  | 168 | +    MAILPILE_DOMAIN_NAME='mailpile.local'
 | 
	
		
			
			|  | 169 | +    if grep -q "mailpile domain" $COMPLETION_FILE; then
 | 
	
		
			
			|  | 170 | +        MAILPILE_DOMAIN_NAME=$(get_completion_param "mailpile domain")
 | 
	
		
			
			|  | 171 | +    fi
 | 
	
		
			
			|  | 172 | +    if [ $MAILPILE_DOMAIN_NAME ]; then
 | 
	
		
			
			|  | 173 | +        systemctl stop mailpile
 | 
	
		
			
			|  | 174 | +
 | 
	
		
			
			|  | 175 | +        temp_restore_dir=/root/tempmailpile
 | 
	
		
			
			|  | 176 | +        restore_directory_from_friend $temp_restore_dir mailpile
 | 
	
		
			
			|  | 177 | +        if [ -d /var/www/${MAILPILE_DOMAIN_NAME}/mail/.local ]; then
 | 
	
		
			
			|  | 178 | +            mv /var/www/${MAILPILE_DOMAIN_NAME}/mail/.local /var/www/${MAILPILE_DOMAIN_NAME}/mail/.previous
 | 
	
		
			
			|  | 179 | +        fi
 | 
	
		
			
			|  | 180 | +        temp_source_dir=$(find ${temp_restore_dir} -name ".local")
 | 
	
		
			
			|  | 181 | +        cp -r ${temp_source_dir} /var/www/${MAILPILE_DOMAIN_NAME}/mail/
 | 
	
		
			
			|  | 182 | +        if [ ! "$?" = "0" ]; then
 | 
	
		
			
			|  | 183 | +            if [ -d mv /var/www/${MAILPILE_DOMAIN_NAME}/mail/.previous ]; then
 | 
	
		
			
			|  | 184 | +                mv /var/www/${MAILPILE_DOMAIN_NAME}/mail/.previous /var/www/${MAILPILE_DOMAIN_NAME}/mail/.local
 | 
	
		
			
			|  | 185 | +            fi
 | 
	
		
			
			|  | 186 | +            backup_unmount_drive
 | 
	
		
			
			|  | 187 | +            exit 36732
 | 
	
		
			
			|  | 188 | +        fi
 | 
	
		
			
			|  | 189 | +        rm -rf ${temp_restore_dir}
 | 
	
		
			
			|  | 190 | +        chown -R mailpile: /var/www/$MAILPILE_DOMAIN_NAME/mail/
 | 
	
		
			
			|  | 191 | +
 | 
	
		
			
			|  | 192 | +        if [ -d /etc/letsencrypt/live/${MAILPILE_DOMAIN_NAME} ]; then
 | 
	
		
			
			|  | 193 | +            ln -s /etc/letsencrypt/live/${MAILPILE_DOMAIN_NAME}/privkey.pem /etc/ssl/private/${MAILPILE_DOMAIN_NAME}.key
 | 
	
		
			
			|  | 194 | +            ln -s /etc/letsencrypt/live/${MAILPILE_DOMAIN_NAME}/fullchain.pem /etc/ssl/certs/${MAILPILE_DOMAIN_NAME}.pem
 | 
	
		
			
			|  | 195 | +        fi
 | 
	
		
			
			|  | 196 | +
 | 
	
		
			
			|  | 197 | +        systemctl start mailpile
 | 
	
		
			
			|  | 198 | +    fi
 | 
	
		
			
			| 103 | 199 |  }
 | 
	
		
			
			| 104 | 200 |  
 | 
	
		
			
			| 105 | 201 |  function remove_mailpile {
 |