-
Notifications
You must be signed in to change notification settings - Fork 9
Exclude archive file extensions #481
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
|
@bwmarkle Joseph's pull request |
|
@joe9663 Thanks for the PR, and sorry for the wait.
|
| * @var string | ||
| */ | ||
| public $default_exclude = '.git,node_modules'; | ||
| public $default_exclude = '.git,node_modules,*.zip,*.gz,*.tar,*.wpress,*.tmp'; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@joe9663 you can:
- Check the master branch (this is the old version). Do what ever you have to do.
- Check out the
exclude-file-extensionsbranch. This is basically upgrading.
Does that help?
The questions I have are:
- What happens when someone is using the default settings?
- What happens if someone has modified the default settings with a custom rule?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- The backup works as expected with the default settings.
- If a custom rule was previously used then the new defaults are not added to that field and the file types are not excluded.
addresses issue #234.
there's probably a different way to exclude these file types automatically, but using this construction has the benefit of giving users the ability to change the configuration if they decide that they want to include archive files in their backups.