Support

Akeeba Backup for WordPress

#42568 Remote Backup with FTP sometimes timeout

Posted in ‘Akeeba Backup for WordPress’
This is a public ticket

Everybody will be able to see its contents. Do not include usernames, passwords or any other sensitive information.

Environment Information

WordPress version
6.9
PHP version
8.3
Akeeba Backup version
9.1.1

Latest post by alex.preyer on Friday, 19 December 2025 03:53 CST

alex.preyer

Since a few weeks some of my backups fail when Akeeba tries to upload them to a server with FTP. The backups run normal and in most times there a files at the remote host, but much to small or with 0 byte. There are always the same backups which fails (same period of time)

In the logs I could see that there were timeouts. So I asked my host if there is something special at this time on this host. I got the answer that indeed is more load on the server. Before moving the backup time I want to know:

There are many settings in the Akeeba backup profiles, like execution times and so on. But I suppose these settings are for the backup process, not for the remote upload, aren't they?

Is there a setting where I can get the FTP upload less sensitive?

nicholas
Akeeba Staff
Manager

Let me first paste the relevant log lines, with personal information redacted / modified since this is a public ticket:

INFO    |20251217 02:12:45|Beginning post processing file /var/www/vhosts/example.com/fullbackup-example.com-20252327-020303.jpa
DEBUG   |20251217 02:12:45|Akeeba\Engine\Postproc\Ftp:: Connecting to remote FTP
DEBUG   |20251217 02:12:45|Akeeba\Engine\Postproc\Ftp:: Starting FTP upload of /var/www/vhosts/example.com/fullbackup-example.com-20252327-020303.jpa
DEBUG   |20251217 02:15:57|PHP WARNING (not an error; you can ignore) on line 364 in file /var/www/vhosts/example.com/httpdocs/wp-content/plugins/akeebabackupwp/app/vendor/akeeba/engine/engine/Util/Transfer/Ftp.php:
DEBUG   |20251217 02:15:57|ftp_fput(): Connection timed out
DEBUG   |20251217 02:15:57|PHP WARNING (not an error; you can ignore) on line 364 in file /var/www/vhosts/example.com/httpdocs/wp-content/plugins/akeebabackupwp/app/vendor/akeeba/engine/engine/Util/Transfer/Ftp.php:
DEBUG   |20251217 02:15:57|ftp_fput(): Using transfer connection
DEBUG   |20251217 02:16:07|PHP WARNING (not an error; you can ignore) on line 368 in file /var/www/vhosts/example.com/httpdocs/wp-content/plugins/akeebabackupwp/app/vendor/akeeba/engine/engine/Util/Transfer/Ftp.php:
DEBUG   |20251217 02:16:07|ftp_chdir(): Connection timed out
WARNING |20251217 02:16:07|Failed to process file /var/www/vhosts/example.com/fullbackup-example.com-20252327-020303.jpa
WARNING |20251217 02:16:07|Error received from the post-processing engine:
WARNING |20251217 02:16:07|Uploading /var/www/vhosts/example.com/fullbackup-example.com-20252327-020303.jpa has failed.

You were talking about the lines containing messages similar to "ftp_fput(): Connection timed out".

The message you get means that PHP never heard back from the remote FTP server. You appear to have misunderstood this as a problem with your web server, so you asked your host about why you see timeouts on your server. This was, of course, misleading as there was no such problem. Your host couldn't find anything like that, so they told you that the only thing they see is a higher than your site's average CPU usage around that time. You misunderstood that as a confirmation of your misdiagnosis of the wrong problem due to confirmation bias. Basically, you are chasing the wrong problem, at the wrong end, despite being told it's not what you should be doing. I can understand how this happened.

In any case, just to put this out of your mind: when you are taking a backup by definition you using more CPU, memory, and disk I/O than average. Taking a backup requires reading the entire contents of your database, all of your files, compress that data, and write it to a file. If I asked you to read an entire book and write me a summary it's a lot more work than if I asked you to photocopy a page of it for me. It's the very same concept. But, again, CPU, memory, and disk usage on your web server has absolutely nothing to do whatsoever with your problem.

The actual problem is that the remote FTP server stops responding. That's something you should contact the remote FTP server's administrator to find out what takes place on their end when the connection appears to hang.

If you are using a NAS you manage yourself and make accessible over dynamic DNS, that could actually be the issue. If the IP address of your connection changes while file transfer is in progress your (web) server doesn't and cannot possibly know about it. It will keep trying to send data packages to the IP address it originally connected to but will receive no response as there's nothing listening on that IP address any more. From the web server's point of view, that's a connection timeout.

The same thing could be happening if your web server's host has a firewall which allowed the data channel connection to go through (which is why the initial connection succeeded) but does not allow sending data over the data channel connection. This is a very common misconfiguration; Linux requires an additional module and explicit configuration in iptables for FTP's data channel connections to work.

Here's what you have to do.

Start by asking the host of your web server why you are getting a connection timeout when you are trying to send files over FTP to a remote server. The qualifiers in bold type completely change the kind of troubleshooting your host needs to do. It's no longer a timeout –which they implicitly understand as a timeout of their web server– but a connection issue to a remote FTP server. It's like asking for a fruit to put in a salad; tomatoes and bananas both are fruit, but depending on whether you're making a (savoury) salad or a fruit salad which one I should give you varies quite dramatically.

If your host has confirmed everything is fine on their end, start pursuing the issue on the remote FTP server end.

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

alex.preyer
Hi Nicholas,
 
I think you misunderstood me. I'll try to explain it better.
I asked  the hoster of the FTP storage (Hetzner Storagebox) not my web hoster. They told me that at the time of the failed backup, there was more load than usual on the server, because everyone is doing backups at night. This could be the reason for the broken upload.
 
Attached you'll find another log of a backup upload that failed tonight. On the remote FTP server is a small JPA file with 1,42 MB. Usually the backup of this site is 121 MB. I also added a screenshot where you see the remote backup directory.
So, Akeeba gets a connection to the FTP server but stops after a short while.
 
Best regards,
Alex
 

nicholas
Akeeba Staff
Manager

OK, that makes a lot more sense.

Well, if their server can't keep up with the demand at that time, you have two options. Either take your backups at a different time of the day, or try using a different storage service.

Nicholas K. Dionysopoulos

Lead Developer and Director

🇬🇷Greek: native 🇬🇧English: excellent 🇫🇷French: basic • 🕐 My time zone is Europe / Athens
Please keep in mind my timezone and cultural differences when reading my replies. Thank you!

alex.preyer

Thank you Nicholas for your assessment of the situation. I really appreciate your great support.

Support Information

Working hours: We are open Monday to Friday, 9am to 7pm Cyprus timezone (EET / EEST). Support is provided by the same developers writing the software, all of which live in Europe. You can still file tickets outside of our working hours, but we cannot respond to them until we're back at the office.

Support policy: We would like to kindly inform you that when using our support you have already agreed to the Support Policy which is part of our Terms of Service. Thank you for your understanding and for helping us help you!