What's happening with backup for 5.7?

Permalink 2 users found helpful
Since it was launched, 5.7 has had the "Backup Database" option but it has never worked!

There is lots of detail there looking like it is close - including sections on "Existing Backups" (stating "You have no backups available.") and "Create new Backup", an options to "Use Encryption", a "Run Backup" button, even a short paragraph describing "Important Information about Backup & Restore"...however it has never been implemented (or if it has recently, my apologies, but I can't find any information about it!)

If it is as expected and it still hasn't been done, what's happening with backup for 5.7?

If it is something not on the cards soon, can we please at least have someone with some more smarts than me put together some documentation about how best to manually backup or setup a cron job for it etc?

Thanks.

BrettDashwood
View Replies: View Best Answer
Gondwana replied on at Permalink Reply
Gondwana
I know this isn't an answer, but I rely on the info here:
http://documentation.concrete5.org/developers/installation/moving-a...

Moreover, I don't think you need the concrete directory since you can reinstall that from the source if need be (assuming you can get the right version).
BrettDashwood replied on at Permalink Reply
BrettDashwood
I appreciate the response, thanks...but this is indeed "very" manual.

The moving site info is fundamentally a manual database export and process to backup files (and then restore to a new location)...isn't this what backup/restore should be?

I'm struggling to understand why the backup/restore functionality for 5.7 can be so different from that we enjoyed in pre-5.7 versions.
ramonleenders replied on at Permalink Reply
ramonleenders
Checkout "Backup Pro"!

http://www.concrete5.org/marketplace/addons/backup-pro...

A very huge Add-On which can do A LOT. It's been also developed for other CMS'es around, by the same developer. I'd say he has more than enough experience to be able to build something awesome. If you have questions about the Add-On, you should ask the developer though through the support or by email (he probably won't check the forums every day).
BrettDashwood replied on at Permalink Reply
BrettDashwood
Much appreciated. I did find this yesterday before posting and I see that it can indeed do a lot more than a simple backup...however in the cases where we do need a simple backup, I don't want to have to buy an add-on to do something that has been architected from day 1 in 5.7 and was simply standard functionality in 5.6 back
ramonleenders replied on at Permalink Reply
ramonleenders
They said they won't bring backups back into the core. It was quite "simple" the way it was in 5.6 and it didn't always suffice ones needs. Also, the core should really be core, and everything else should be Add-Ons. Perhaps they planned (or stil plan) on doing a backup Add-On theirselves? I don't know, you should ask. But seeing as they got a whole lot of (more important) stuff to take care off first, I don't expect them to.
BrettDashwood replied on at Permalink Reply
BrettDashwood
Thanks again for the reply. Sounds like you've seen something I haven't about them deciding not to bring it back in.

Obviously I'm not happy about that - and I'm sure that others wouldn't be either - but having an answer regardless is better than hanging expecting it "sometime".

If you believe there has been something published, I would appreciate it if you (or anyone) are able to point me to that discussion. Thanks.
ramonleenders replied on at Permalink Reply
ramonleenders
https://www.concrete5.org/community/forums/5-7-discussion/database-backups-and-feature-requests-5.7.x

First post by "andrew" (core developer)

I'm sure there are other threads, but couldn't find them using search. Could have been on GitHub too, I don't know. Maybe a core developer or Franz could step in here and let you know for 100% what's decided on this "issue".
sk01 replied on at Permalink Reply
sk01
ramonleenders replied on at Permalink Reply
ramonleenders
Shell scripts are awesome, but one must know how they work and how to edit. Most people will probably want a GUI to do stuff like this (as you can screw things up with command line).
mesuva replied on at Permalink Reply
mesuva
I think it's worth keeping in mind that the 'backups' within concrete5.6 and older weren't complete backups, they were only database dumps.

I personally never saw the value in that feature, as that backup file alone is pretty much useless to restore a concrete5 install, especially in terms of any kind of disaster recovery. It was perhaps handy to do just before a major operation like an update or a big package install, but again it was never a full backup, it was a _database_ backup.

A real backup of concrete5 (or any data driven application) requires the database AND the files relevant to that snapshot. Files include not just the ones uploaded to a file manager, but config files, add-ons, etc. It's both that allow you to completely restore a backup.

Backup Pro on the other hand does appear to handle both the database and the files. My impression is that this is actually a true backup process, achieving the same if you managed the site at the server level and took a database dump and zip of the install.

What looks great about it is that it is able to be triggered by a cron job, meaning you can get truly automatic backups happening. Then being able to send those to something like Amazon S3 for storage is gold. (I've not used it, but the screenshots clearly show this stuff).

So there's a huge amount of functionality here that was never included in 5.6.

Alternatively, I always encourage people to learn how to take backups from within their hosting control panels. cPanel is the most common control panel out there and it literally takes three clicks to download a database dump and full backup.
sk01 replied on at Permalink Reply
sk01
you're not answering the question here.
broken down the question is:

why is there a backup UI when there's no functionality?

you are answering a philosophical approach on how someone should do a backup.
but just let me explain why the 5.6 backup was good: there is more out there than plesk.
and in case you get just a ftp-account and the mysql-credentials without phpmyadmin (or similar) and/or you just don't want to fiddle around with that kind of UI it was quite easy to backup and restore. create a backup and get the files&packages-directory via FTP. that's it. if you fuckup something make a clean install of 5.6, upload your files&packages-directory and make a restore.
or test a new package. it sucks, so restore the DB backup and delete the package.
give your end-customer the good feeling of creating a backup before they start changing their website.

because it's not your way to handle backups it might be quite useful for others.

and btw. the page is still in the v8 with the same amount of functionality: none.
JohntheFish replied on at Permalink Reply
JohntheFish
I have read on GitHub the backup dashboard page should be removed in v8 to avoid the confusion an empty dashboard page has been causing. There was a thread to do that.
ramonleenders replied on at Permalink Reply
ramonleenders
https://github.com/concrete5/concrete5/issues/3452
BrettDashwood replied on at Permalink Best Answer Reply
BrettDashwood
Thanks again all.

I've now read this github link and am a but concerned. I appreciate that backup as it was in 5.6+ didn't have all the options that some people want/need, but many (many) C5 users aren't power users and are often on shared hosting environments.

The simple functionality of a database backup/restore from within the web interface is all that should be needed (and all that is being asked to re-implement).

With regard to the argument of a complete backup in the case of catastrophic failure, in most cases I would guess that the website isn't the only location for images and other files, however it will be for the database. I believe that most people would be happy with a process in the case of failure:
1. Reinstall C5
2. Restore the database from an appropriate backup
3. Upload other files

By "other files", I'm referring to file manager files (eg. images, pdf files, other downloads, etc) and theme/add-on specific files that have been manually modified offline. All of these would normally have a local/offline source copy anyway.

And those that aren't happy with the above approach, should either buy the $40 add-on, or be OK to go more technically deeper to get more functionality/capability...right?

I just think the discussion seems to be happening between guys that are very happy with command lines, setting up cron, self managed hosting environments, etc; many users aren't.
mesuva replied on at Permalink Reply
mesuva
I don't see that restoration process as being suitable at all, it's going to create a broken site somewhat, or at least a large amount of work.

When the database is restored it will also contain all the file manager records/references, which will point to folders/files that no longer exist. You'd then have to replace _every_ file in the file manager with their original file. On a small site with only a handful of files this might not be a big deal, but on anything larger this is going to be time consuming and error prone.

But a potentially bigger problem is that original files aren't always kept together, they're uploaded by multiple users, directly by clients, etc. People install packages direct from the marketplace too and you have to ensure you reinstall the correct versions.

You have to get all the package and theme files in place _before_ you do the restore, otherwise concrete5 is going to try to load up PHP code that doesn't exist and crash.

So although a database backup has value, in that it's going to contain your pages and text content, it's only half of what you need. The above restoration process ends up _more_ technical than learning how to use some sort of process that takes a backup of everything in the first place.

Good backup options are:
- Host based backup systems (like R1Soft, etc), or if you do have the technical skills some backup process of your choosing
- + Taking mysql dumps and full site file backups using something like cPanel
- Using a complete backup add-on (like Backup Pro)

If you don't have available any of the options above, FTP is quite a slow process to backup site files but it can be done. Personally I'd always look for an alternative, but you can speed things up by ignoring the concrete folder. It's still better than just taking just the database dump.

Then for the database, if you don't have something on the server ready to use, there are single file scripts out there that can be used in the same way as something like phpmyadmin. You just drop them into the webspace and load it up. Adminer is one I've used a few times where I've had limited access -http://www.adminer.org/

This is where I think that if concrete5 is going to include a backup facility it should be all or nothing, offering just the database is potentially providing a false sense of security.
sk01 replied on at Permalink Reply
sk01
as you've obviously NOT read my last post i'll try to put it the other way round:

have there been any complaints from normal c5-users about the 5.6 backup?

or was the reason to remove the functionality just "this is not the power user way to do backups, so lets remove it." ?
JohntheFish replied on at Permalink Reply
JohntheFish
Personally I find the normal c5.6 backup/restore useful during development, but useless on a production site where it can't be trusted and provides a false sense of security. I have enough customers of Backup Voodoo to know that there are many site owners who have realised this. I predict there are many more who have not realised this yet ..... but will regret having not realised it at some point in the future.

As well as being functionally insufficient, the c5.6 backup has timeout issues on any site that growns beyond trivial. A similar strategy on 5.7 would timeout sooner as the database is more complex. It wouldn't have been a simple translation of the 5.6 script because 5.7 includes secondary indexes and dependencies between tables that the 5.6 script had no understanding of.

So for 5.7 there would have been a fair bit of work involved creating an in-site backup script, then once implemented it would have provided dubious benefit and a false sense of security. The mistake in 5.7 was leaving a place holder page in the dashboard, not in failing to port the backup script from 5.6.
sk01 replied on at Permalink Reply
sk01
that's a statement to work with.

thx.
BrettDashwood replied on at Permalink Reply
BrettDashwood
Best response yet John thanks. I get it now, however as has been previously mentioned, every other CMS has a backup utility, how has this simply not been done?

Personally I know enough of the deeper technical stuff to be dangerous, but simply don't know enough to to work out the best way to do effective backups myself. And although I have often thought of educating myself, other things end up taking priority...plus that doesn't solve the issue for (I believe) a majority of the community that may not even have my level of knowledge/experience, let alone more.

I have dozens of C5 sites, more than not still on C5.6+, however we're doing new sites on 5.7 and this is simply a safety concern (although looking at the detailed post above from @mesuva, it looks like I may have problems if we ever needed to go through the restore process anyway).

I think it would be a mistake not to include backup as C5 functionality moving forward, but regardless of it being future functionality or not, is there documentation anywhere that can help us do backups using cPanel or even creating a cron job? I would appreciate it if someone with more knowledge than I could put together a step by step how to or some other documentation specific to a C5 environment. Is that possible?
mesuva replied on at Permalink Reply
mesuva
Taking manual full backups via cPanel is really very easy.

- Log into cPanel
- Go to the 'Backup' section
- Under the 'Download a Home Directory Backup' section, click on the 'Home Directory' button. That will download a zip containing files.
- Scroll a bit further down to the 'Download a MySQL Database Backup' section. Click on the name of your database, that will download the database dump

That's it, three clicks after logging in.

There's nothing really specific to concrete5 you'd need to consider to take this backup, it's pretty much the steps for any data driven website.

Just one little note - the home file zip file that is downloaded contains all the files in your cPanel account, not just your website files, so it'll include things like email files as well.
So if you do need to restore a site, you just need to unzip it first, to extract just the files within the public_html folder. Typically you just recompress the contents of the public_html folder and upload that, to unzip it on the server. (I might be making this sound complicated, but it's really obvious when you look in the zip)

For the purpose of doing a site backup, you should ignore the 'Full Backup' option in cPanel's Backup section - that's more for migrating cPanel accounts.

The above backup steps are also the same if you wanted to move a site elsewhere.
BrettDashwood replied on at Permalink Reply
BrettDashwood
Thanks. I have looked in to the cPanel backup options before and couldn't find an easy way without getting a significant amount more things than I want/need. I look into this further again...but I'm still just struggling to understand why this isn't simply something that the C5 team would like everyone to be able to do through the standard interface.

If there are different ways to do it for different database and platforms, why not just create some (free) add-ons that perform backups for the different environments. I don't think it needs to all be in the one add-on, but surely it could be and simply get greyed out (or not-displayed ??) if the option isn't appropriate after it is installed and does a check of the environment on which it's sitting.

Anyway, I will look into some other manual processes. I appreciate that there is the $40 add-on and if I have to go down that route I guess I will...but I simply don't think I should have to. Thanks again everyone.
sk01 replied on at Permalink Reply
sk01
In case you're stil searching for a solution:

https://www.datatainment.de/this-n-that/concrete5-backup-and-restore...
Cahueya replied on at Permalink Reply
Have you tried that with v8? I just installed it locally with the latest GitHub version of c5 and it won't do anything but it is a super good idea for an add-on!

Thank you!
sk01 replied on at Permalink Reply
sk01
works like a charm with 8.1.0
I don't test against github-versions of c5 because of reasons...
sk01 replied on at Permalink Reply
sk01
but trying to help with your problem, maybe this is useful:
https://en.wikipedia.org/wiki/Adminer...
it's a one-file mysql admin tool. no install, no command line, no root, no nothing.
you can export & import as well.
BrettDashwood replied on at Permalink Reply
BrettDashwood
Thanks , I will definitively check it out
ob7dev replied on at Permalink Reply
ob7dev
Lol, imagine if someone submitted an add-on to the marketplace that installed a dashboard page that did absolutely nothing. I can already imagine how well that would go over in the PRB...

Author: "Introducing instant website generator!"
PRB Reviewer: "Uhm, it seems somethings wrong, when I click the generate button, all I get is a message saying 'This has not been implemented yet'..."
Author: "SOMEDAY IT WILL BE!"
PRB Reviewer: "....well someday you can resubmit your addon when it actually does something."
Author: "But I got my wordpress version approved in their marketplace! And it does nothing..."
PRB Reviewer (checks if its April 1st, then deletes submission)
mnakalay replied on at Permalink Reply
mnakalay
We actually had a few exchanges like that in the PRB :)