Giter Club home page Giter Club logo

Comments (6)

andreiglingeanu avatar andreiglingeanu commented on August 17, 2024

Hey @cu12,

Have you tried to swap out the implementation for get_tmp_dir()? Did it helped you?

from unyson-backups-extension.

cu12 avatar cu12 commented on August 17, 2024

hey @andreiglingeanu

Indeed, dumbly modifying the function like this, makes this working

        public function get_tmp_dir() {
                return get_temp_dir() . '/tmp';
        }

it's a good idea to use the canonical function anyway.

from unyson-backups-extension.

andreiglingeanu avatar andreiglingeanu commented on August 17, 2024

That's true, but I'm not entirely sure why that method was implemented that way in the first place. I'll have to look it up before swaping out the implementation.

cc @ViorelEremia

from unyson-backups-extension.

ViorelEremia avatar ViorelEremia commented on August 17, 2024

This function return path to folder fw-backup/tmp dir created in folder uploads this is not the same as default get_temp_dir() directly in tmp this is added and for another reasons it can be rewritten from config.php param dirs.destination, some plugins are badly programmed by deleting all of that folder it results that it will delete and your backup( plugins what works with downloaded files cache etc but not only plugins touch this folder).
@cu12 can you check this function what path returns wp_upload_dir I think here is the problem.

from unyson-backups-extension.

cu12 avatar cu12 commented on August 17, 2024

@ViorelEremia thanks for working on this, the function returns something like the following:

Array
(
    [path] => /var/www/wp-content/uploads/2017/11
    [url] => redacted
    [subdir] => /2017/11
    [basedir] => /var/www/wp-content/uploads
    [baseurl] => redacted
    [error] =>
)

Now the problem is not the path, but the filesystem behind it which is Gluster used via NFS. After the download finishes, it's not guaranteed that it's already been fsync'd to the filesystem, therefore an immediate read could end up in a "bad" zip file.

Making the download defaulting in /tmp would almost all the time guarantee that extraction would succeed right after the download as in 99% of the cases it's not a network filesystem.

from unyson-backups-extension.

ViorelEremia avatar ViorelEremia commented on August 17, 2024

I do not think I have to focus on this issue, and I do not know how to do this so as not to affect the others so if you find a solution create a pull request.

from unyson-backups-extension.

Related Issues (20)

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.