Can't pull site from WPEngine - rsync error

Issue Summary

RSync error when I try to pull from wpengine, even though I’ve updated all the files and only need to import the database

Troubleshooting Questions

  • Does this happen for all sites in Local, or just one in particular?

I only have one site

  • Are you able to create a new, plain WordPress site in Local and access it in a Browser?

Yes. But I want to update an existing dev site.

Replication

Have a site on wpengine that deploys with .git

System Details

  • Which version of Local is being used?

7.02

  • What Operating System (OS) and OS version is being used?
    Linux

Relevant local log line here:

{"thread":"main","class":"SshService","message":"Success: Exported to 'sites/smartours/_wpeprivate/autoload.sql'.\ntable_prefix=wp_","level":"verbose","timestamp":"2023-07-05T19:24:23.645Z"}
{"thread":"main","class":"RsyncService","message":"Running rsync with following args: '-avzum', '--include=**/', '--include=**/_wpeprivate/autoload.sql', '--exclude=*', '-e', 'ssh -o PubkeyAcceptedKeyTypes=+ssh-rsa -o ServerAliveInterval=60 -o ServerAliveCountMax=120 -o StrictHostKeyChecking=accept-new -i \"%%userDataPath%%/ssh/wpe-connect\"', 'local+rsync+smartours@smartours.ssh.wpengine.net:/sites/smartours/', '/home/omerida/vhosts/clients/smartours-dev/app/public/'","level":"debug","timestamp":"2023-07-05T19:24:23.645Z"}
{"thread":"main","class":"RsyncService","message":"receiving file list ... ","level":"verbose","timestamp":"2023-07-05T19:25:19.239Z"}
{"thread":"main","class":"RsyncService","message":"rsync: [sender] opendir \"/sites/smartours/.git\" failed: Permission denied (13)\n","level":"warn","timestamp":"2023-07-05T19:25:25.928Z"}
{"thread":"main","class":"RsyncService","message":"done\n","level":"verbose","timestamp":"2023-07-05T19:25:26.254Z"}
{"thread":"main","class":"RsyncService","message":"./\n_wpeprivate/\n_wpeprivate

Note this is after the main rsync process which respects any values in public/.wpe-pull-ignore.

It looks like this rsync command is for copying down the autoload.sql file? but it wants to sync the .git folder from wpengine which is only readable by their root user. Also, this rsync command isn’t respecting what’s ignored by .wpe-pull-ignore which includes a line for .git

Security Reminder

Local does a pretty good job of scrubbing private info from the logs and the errors it produces, however there’s always the possibility that something private can come through. Because these are public forums, always review the screenshots you are sharing to make sure there isn’t private info like passwords being displayed.

Hi @omerida!

I took a look at the size on the WPE side and noticed it’s around 11GB in overall size. While we don’t have a hard limit on the size of a site that can be pulled or pushed with Local, sites that are 5GB or larger can occasionally struggle due to some timeout limitations. Things like network speed can play a part but there are a number of variables that affect this.

I’m not certain that this is the issue but it could be a factor. As a workaround can you download a backup and direct import that into Local?

For more information about managing large sites you can see our guide below:

@Nick-B

Thanks for the quick response. I tried the workaround but since it doesn’t update an existing site - it’s a no-go solution. We’ve tweaked (with symlinks) the folder structure for our workflow and setting all that up again isn’t viable if my team and I have to do it again.

But … we’ve pulled the site in the past without issues. Digging into it, we’re not sure why one of our environments has a .git folder owned by root. I’m syncing from our dev environment (which doesn’t have one) and so far, it looks like its working.

Still, I don’t think Local should be using that broad rsync command (that wants to copy other stuff like the .git folder) to copy down the autoload.sql file when a more targeted rsync command to get the file could be used.

Do you really need the first --include?

Hi @omerida - In closing out some older threads, I wanted to bump this one as we have released a fix for this issue with Local v7.1.2, which is available now. Like you mentioned, Local was getting caught up on files it didn’t have permissions to (like .git), but it didn’t need to check those files anyways. We’ve updated the logic to skip those files and keep moving which has resolved the issue for other users who experienced it too. Let us know if you run into any other problems!

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.