Caches don't go well with the Backup and Migrate module. You should never migrate any cached material (it bloats the size of the dump and create all sorts of stability problems).
Before migrating, you should clear all caches on the site you migrate just to make sure your site is stable and all features still present after its cache is cleared.
Check the site after clearing the cache. If there are features missing, your site is broken and your problem is with the site, not with whatever method you use for migration.
Fortunately, Backup and Migrate lets you create profiles where you can exclude certain tables from the dump. You should always exclude any tables starting with cache*
, but there a number of other tables you'd better off excluding to avoid state mismatches when you roll your backup back in again.
Also: Always make sure your site is in maintenance mode when making a backup, and when you roll your backup back.
Here is a list of tables I recommed excluding from the backup, with a brief explanation about what information the table holds:
{batch}
– disconnect user from his/her batch, so make sure site is in maintenance mode;
{cache*}
– the cache just optimises page loads, always safe to exclude;
{sessions}
– loses user sessions, so make sure site is in maintenance mode;
In addition, excluding the following tables from only delete information that can simply be regenerated, so you may want to exclude to keep the size of the backup down:
{flood}
– flood log generated by built-in flood control;
{search*}
– loses search indices and statistics, indices is regenerated by cron;
{watchdog}
– loses log messages.
To exclude these tables, navigate to Configuration → System → Backup and Migrate → Profiles. Click on Add profile, and give the profile a name so you can recognise it. Then under Default database backup options, select the tables you don't want included in the backup from the menu as show below.
