Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion admin/class-boldgrid-backup-admin-folder-exclusion.php
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ class Boldgrid_Backup_Admin_Folder_Exclusion {
* @since 1.6.0
* @var string
*/
public $default_exclude = '.git,node_modules';
public $default_exclude = '.git,node_modules,*.zip,*.gz,*.tar,*.wpress,*.tmp';
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bwmarkle

the file extensions are for various large files that might typically exist in a website filesystem that should generally be excluded to prevent making backups of backups.

.zip, .gz, and .tar are more broad in their application but I have seen cases where users create an archive of their uploads folder that is stored in /wp-content and gets included in the backup even though the /uploads directory is already being added.

.wpress is the specific file extension used by the All in One Migration plugin, which stores its backups in /wp-content. This is the most common example I have seen of other backup files being in Total Upkeep backups.

.tmp seems to be the extension used by Total Upkeep as it generates files and prepares to add them to a complete .zip file to create a finished backup. If the backup process fails, for example due to resource limits, and the orphaned files from the failed backup are not removed properly from the /wp-admin directory then including them in backups leads to a cascade of backup failures.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bwmarkle in regards to testing

I created dummy files using each of those extensions (testing.zip, testing.gz, etc.) and created a backup without the code modifications and confirmed that each of those files were included with the Total Upkeep production code.

Then I applied to code change to the TU in my testing installation and created another backup, which excluded those dummy files.

The upgrade flow however was not considered in my testing and I am not exactly sure how to test that.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@joe9663 you can:

  1. Check the master branch (this is the old version). Do what ever you have to do.
  2. Check out the exclude-file-extensions branch. This is basically upgrading.
    Does that help?

The questions I have are:

  1. What happens when someone is using the default settings?
  2. What happens if someone has modified the default settings with a custom rule?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bwmarkle

  1. The backup works as expected with the default settings.
  2. If a custom rule was previously used then the new defaults are not added to that field and the file types are not excluded.


/**
* The default include value.
Expand Down