Giter Club home page Giter Club logo

boldgrid-backup's People

Contributors

bwmarkle avatar cssjoe avatar dependabot[bot] avatar greenkeeper[bot] avatar imgbotapp avatar imhpdt avatar jamesros161 avatar jessecowens avatar joe9663 avatar rramo012 avatar timelsass avatar w3ap0n-x avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

boldgrid-backup's Issues

Added setting for max age of backup for auto-restore

Is your feature request related to a problem? Please describe.
If auto-restore is enabled (Site Check or other), and the last full backup is too old, then a user may not want is used.

Describe the solution you'd like
A setting can be added to specify the maximum age of a backup archive that can be used for an auto-restoration. A default value of 1 week may be ok.

Describe alternatives you've considered
Alternatively, we can choose an arbitrary length of time and not have a user setting.

Fatal error: Uncaught Error: Call to a member function add() on null

We were unable to create a backup of your website due to the following:

Fatal error: Uncaught Error: Call to a member function add() on null in /wp-content/plugins/boldgrid-backup/admin/class-boldgrid-backup-admin-core.php:1874

Stack trace:

#0 /wp-content/plugins/boldgrid-backup/admin/class-boldgrid-backup-admin-core.php(2482): Boldgrid_Backup_Admin_Core->archive_files(true)

#1 /wp-includes/class-wp-hook.php(286): Boldgrid_Backup_Admin_Core->boldgrid_backup_now_callback('')

#2 /wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters('', Array)

#3 /wp-includes/plugin.php(465): WP_Hook->do_action(Array)

#4 /wp-admin/admin-ajax.php(167): do_action('wp_ajax_boldgri...')

Bug Report: Progress bar incorrecly reporting a backup has been completed

Describe the bug
Selecting Backup Site Now shows that the backup completes instantly, but the backup is still running in the background.

To Reproduce
This behavior was only observed on websites that generate very large backups.

  1. Go to Backup Archives.
  2. Click on Backup Site Now.
  3. See the message stating Backup completed successfully.
  4. Open the file manager for the website
  5. Navigate to the backup directory.
  6. See temporary backup .zip file.
  7. File size increments when refreshing the view.

Expected behavior
The progress bar should display at all times while a backup is generating.

Desktop (please complete the following information):

  • OS: Fedora 29
  • Browser: Firefox
  • Version: 65.0.1

Prompt for a rating

If the user is really enjoying the backup plugin, let's ask them to leave a review.

Duplicate email sent

Describe the bug
When an automatic backup is made before an auto-update two email messages are sent.

To Reproduce
Steps to reproduce the behavior:

  1. Check your settings: notification email address and auto-backup before auto-update is enabled.
  2. Set a plugin to auto-update.
  3. Change the plugin version number.
  4. Browse the site or admin pages (to trigger the auto-update).
  5. Check your email.

Expected behavior
Only one notification email should be sent.

Multisite

How does / how should BoldGrid Backup work with multisite?

Preliminary testing shows the following:

All backups are visible on ALL sites
You would have to name each backup the name of the site or something to tell them apart
Restoring site1 backup from the dashboard of site2 restores site1 as expected, nothing happens to site2

Update bgbkup-cli notification email message

From Todd:

The email - that needs a bit more work. It should contain more about how to check to be sure the error is real and then specific advice on how to restore it including any precreated links we can supply.

Constant FTP Connections in plugin pages

Description
Plugin attempts to make an FTP connection with every page load within the plugin. Viewing Settings, Tools, Preflight Check, or any of the other settings causes the plugin to attempt an FTP login.

When FTP option is setup user has to wait for the connection to timeout before the plugin page loads, and requires killing the processes server side to bypass waiting for the connection to timeout.

Restoration Script

How to restore a backup if WordPress isn't working? Create a script to restore a backup.

bgbkup-cli method argument

When running bgbkup-cli.php restore method=pclzip or any other method except for "ajax", the logic chooses a non-ajax method based on availability instead of using your specified choice.

Auto-Backup completes showing update protection enabled, but does not engage rollback notice.

When an auto-update backup is in-progress, go to the WordPress Updates or Plugins page; the admin notice shows the progress completes ("Backup complete"), and another notice saying "Update protection activated" "Backup created successfully", but after performing an update (such as for WordPress Core), there is no rollback notice. In this scenario, the update protection should not be activated, and there will be no auto-rollback.

Auto-updates do not trigger the rollback scenario. If a (full) backup was recently made, and anything is updated manually withing a short time-frame, the rollback cron and notice should be in effect.

Note: In the future, we may have auto-rollback after something goes awry in an auto-update.

boldgrid-backup-issue-1-a

boldgrid-backup-issue-1-b

Remote storage downloading shows already a local archive

Describe the bug
When having a remote storage archive (such as on Google Drive) with no local/web server copy, downloading to the web server may take a long time. If a user refreshes the Archive Details page, it appears to have already been downloaded, but there is missing details and nothing in the archive browser. If the user clicks "Download to Local Machine", then the partial archive is downloaded. If it is then opened, it appears to be ok, until it is extracted, which results in a data error.

To Reproduce
Steps to reproduce the behavior:

  1. Create a backup.
  2. Upload to a remote storage location.
  3. Delete the local/web server archive file.
  4. Click Upload next to the remote storage type.
  5. Refresh the page before the download completes.
  6. Examine the Archive Browser and the archive details.
  7. Click Download to Local Machine to examine the size and contents against the good copy in remote storage.

Expected behavior
If there was a checksum (such as MD5) stored in the archive log, then the archive details page could compare it against the file. If the checksum is not found or does not match the archive file, then the file is not shown to be local (on the web server), and no local controls are available.

If a premium user has a doesn't have a the Premium Extension, provide a download link

Currently a notices pops up which to send the user to BG Central and give them a link. While we cannot install the plugin, we can provide a Download link , see: https://developer.wordpress.org/plugins/wordpress-org/detailed-plugin-guidelines/#8-plugins-may-not-send-executable-code-via-third-party-systems .

What I had in mind is creating an endpoint on the asset server that provides a zip file:
https://api.boldgrid.com/v1/plugins/boldgrid-backup-premium/download . API key authentication would be required to access the URL.

Feature: Display of backup size in the progress bar

Is your feature request related to a problem? Please describe.
Using only whole numbers to display the size of backup in the progress bar leads to problems with users thinking their backup has stalled and is no longer working, especially with larger backups that take a significant amount of time to complete.

Describe the solution you'd like
Rather than showing something like 2 GB and then jumping to 3 GB after sufficient progress on the backup has been made, the progress bar should at least display increments like 2.3, 2.56 etc.

Additional context
Generally this is not a problem as backups on smaller websites complete within a few minutes, but larger sites where the compressed backup size is 3+ GB and the backups can take 20+ minutes to complete this creates some confusion

Transfer using Admin Credentials and URL

Describe the solution you'd like
Being able to supply admin crendentials and a URL in the origin website interface could help simplify the transfer/migration process.

Unordered backup archives in list

The list of backup archives is ordered by descending date/time for the local "Web Server" storage types, but not for others; they appears unordered.

To Reproduce
Steps to reproduce the behavior:

  1. Create some backups.
  2. Upload some backups to other storage locations.
  3. Delete some of the local backups, so that they exist only in remote locations.
  4. Examine the list.

Expected behavior
The list should be ordered by date/time for all types.

Jobs queue - remote upload when local archive no longer exists not failing gracefully

[14-May-2019 19:02:22 UTC] PHP Warning:  fread() expects parameter 1 to be resource, boolean given in /home/user/public_html/wp-content/plugins/boldgrid-backup-premium/admin/remote/google_drive_archive.php on line 283
[14-May-2019 19:02:22 UTC] PHP Warning:  feof() expects parameter 1 to be resource, boolean given in /home/user/public_html/wp-content/plugins/boldgrid-backup-premium/admin/remote/google_drive_archive.php on line 278

What happens with the filepath does not exist?
boldgrid_backup_jobs

1 => 
  array (
    'filepath' => '/home/user/boldgrid_backup/backup.zip',
    'action' => 'boldgrid_backup_google_drive_upload_post_archive',
    'action_data' => '/home/user/boldgrid_backup/backup.zip',
    'action_title' => 'Upload backup file to Google Drive',
    'status' => 'pending',
    'start_time' => 1557862503,
  ),

Files not restored with "bgbkup-cli.php restore method=ajax"

I deleted the readme, did the restore, and I did not have my readme back.

boldgrid-backup/cron$ ls -alh ../ |grep readme
-rw-r--r--   1 bradm bradm  17K Apr  2 13:59 readme.txt

boldgrid-backup/cron$ rm ../readme.txt 
rm: remove regular file â../readme.txtâ? y

boldgrid-backup/cron$ ls -alh ../ |grep readme

boldgrid-backup/cron$ php bgbkup-cli.php restore method=ajax
Starting restoration process...
Attempting to restore "http://domain.com/single-site-1" from backup archive file "/home/user/boldgrid_backup/boldgrid-backup-domain-12345678-20190402-174753.zip"...
Using Ajax URL address restoration process...
Success.

boldgrid-backup/cron$ ls -alh ../ |grep readme

Please see attached image.
image

Other restore methods seem to work, just not ajax.

Auto Recovery

My site just crashed. Have a cron that will figure this out and auto restore site.

Feature: Remote FTP path during setup

Describe the solution you'd like
Create an option to configure a remote FTP path for backup storage during setup and allow users to create subfolders so they can store backups with a single user across multiple sites.

Design panels/internal navigation do not load in 1.9

Describe the bug
The 4 tabs (Backups/Settings/Preflight Check/Tools) work as expected but the navigation and the design panels in each tab are missing.

To Reproduce

  1. Upload and Activate Backup 1.9rc
  2. Enter Key
  3. Dashboard > BG Backup > Settings > Settings
  4. The navigation on the left isn't clickable and there's no design panels on the right
  5. Same with 'Get Premium' notice on Backup tab and the 2 links on Tools

Screenshots
no-panels

Restoration fails if some files are not owned by user

Describe the bug
Some hosts make WordPress Core files read-only (root:root 444), which makes restorations fail if they include core files.

To Reproduce
Steps to reproduce the behavior:

  1. Use such as hosting account or change the ownership of some core files to restrict the current user.
  2. Restore a backup.
  3. See the error.

Expected behavior
Write failures should be ignored and logged, the restoration process completes, and the errors are presented after the restoration.

Feature: Add file browser display for custom backups

Is your feature request related to a problem? Please describe.
When generating a custom backup it can be difficult to determine the total size of the files/directories that are being backed up.

Describe the solution you'd like
Add a rudimentary file browser with disk usage statistics to inform the user what paths should be included or excluded in custom backups.

Cannot close ZIP archive file /home/user/backup.zip

Apr 17 12:40:34 HOST httpd: PHP Warning:
fileperms(): stat failed for /home/user/wp-content/cache/object/d55/fe7/d55fe78a03bc8e7134d98538818a0ef7.php in
/home/user/wp-content/plugins/boldgrid-backup/admin/compressor/class-boldgrid-backup-admin-compressor-php-zip.php on line 160

Apr 17 12:41:44 HOST httpd: PHP Warning:
ZipArchive::close(): Read error: No such file or directory in
/home/user/wp-content/plugins/boldgrid-backup/admin/compressor/class-boldgrid-backup-admin-compressor-php-zip.php on line 207

Add an FTP setting for passive mode.

FTPES is currently taking a bit longer than FTP, example:

The "Backup Archives" page is taking much longer to load.

FTPES
24s
22s
23s

FTP
7s
7s
9s

Adding a passive / auto detect option would help speed things up.

Feature: Explicit FTP over TLS

Is your feature request related to a problem? Please describe.
Servers that are set up to force High encryption requirements require modifications to class-boldgrid-backup-admin-ftp.php to work correctly. All instances of 'ftp_connect' in the file need to be changed to 'ftp_ssl_connect' to work correctly.

Describe the solution you'd like
Having an option in the plugin settings would make this easier for users to configure.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.