Support

Pre-sales

#39000 Akeeba Backup Issue - Unexpected Symlink Error

Posted in ‘Pre-sales and Account Questions’
This is a public ticket

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

Latest post by nicholas on Saturday, 20 May 2023 02:02 CDT

cavegraffitti

Dear Akeeba Support Team,

I'm reaching out today to seek your assistance with an issue I'm currently experiencing with the Akeeba backup system on my project.

After recently bringing in another developer to contribute to the project, we experienced an unusual situation where the CPU usage on our server spiked to 100%, despite there being no apparent reason for the increase. A server reboot was executed to mitigate the problem. However, since the incident, all my Akeeba backups have been producing the following error message:

"The symlink /home/........./public_html/public_html points to a file or folder that no longer exists and will NOT be backed up.

The symlink /home/........./public_html/www points to a file or folder that no longer exists and will NOT be backed up."

To my knowledge, we didn't make any significant alterations that would have impacted the files or directories in question. The error message is somewhat puzzling, and I have not been able to identify the root cause or a solution to the problem.

If possible, could you please provide some guidance on this issue? What might be causing these symlinks to suddenly point to non-existent locations, and what steps can we take to correct this?

Thank you in advance for your time and support. I look forward to your response and guidance on this matter.

Best regards,

nicholas
Akeeba Staff
Manager

It looks like you had created recursive symlinks.

The /home/your_user_name/public_html path is a real folder. That's where your site files are a.k.a. your β€œweb root”. There is usually a symlink to it, /home/your_user_name/www, pointing to the real folder /home/your_user_name/public_html.

Somehow you ended up with another two symlinks, /home/your_user_name/public_html/public_html (note the double public_html) and /home/your_user_name/public_html/www (note the public_html before the www). There is no reason to have made these symlinks on purpose; they look like a mistake. They probably used to point back to public_html, creating an infinite symlink recursion.

That is to say, /home/your_user_name/public_html/public_html would also have symlinks to /home/your_user_name/public_html, therefore /home/your_user_name/public_html/public_html/public_html would be a valid path, and so would /home/your_user_name/public_html/public_html/public_html/public_html and so on. You can visualise it as the Portal infinite loop animation:

I am pretty sure this is what caused the high CPU usage on your server, as I am pretty sure that your host's tech saw that, muttered some creative profanities under his breath, and changed the symlink to point to an invalid location to break the infinite loop.

And that's how I assume you ended up with these broken symlinks. You can ask your host to verify β€” minus the muttered profanities under one's breath, this is a trade secret ;)

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!

cavegraffitti

can you make this ticket not public so I can explain more. Thank you.

nicholas
Akeeba Staff
Manager

This is not a pre-sales request, it's a support request. However, your subscriptions have expired four months ago. Therefore, you are not entitled to support, as per our Terms of Service.

The only reason I replied to this public ticket is because you alleged this is an issue with Akeeba Backup. It's not.

We only read the files while taking a backup. We do not write to symlinks (new or modify) while taking a backup. You have a symlink /home/your_user_name/public_html/public_html which is pointing to a directory or file which does not exist. Since you have told Akeeba Backup to follow symlinks as if they are real files or folders (it's an option in the Configuration page) it detects that it cannot carry out your instruction: you can't possibly list the contents of a folder which does not exist, or read a file which does not exist. As a result, it has to skip over this symlink when taking a backup since it objectively cannot be backed up. This is not even an error, it's a warning. The backup completes normally.

Your problem is that, somehow, symlinks were created or existing symlinks are pointing to something which does not exist anymore. This has nothing to do with our software. Therefore it's outside the scope of our support, and definitely outside the scope of a pre-sales request. Pre-sales requests are limited to answering questions about the capabilities of the software and/or sales-related enquiries (e.g. taxation, payment, delivery, etc).

You really need to talk to your host to understand what is going on. We cannot possibly help you, for the very simple and objective reason that we do not have the kind of access to your server which would allow us to possibly determine what is going on, we have not set up your server (therefore we do not know what kind of automation might be in place to detect and neuter symlink loops), we do not have access to your host's personnel which might have taken an action before you / they rebooted the server. We can't know what we can't possibly know. So there is no point making this ticket private and being dragged into an issue which we are neither paid to handle, nor can we possibly handle as it has nothing to do with our own software.

Please talk to your host.

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!

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!