Maybe the var folder does not have the proper rights?
When the database grows bigger, the Magento backup function simply fails to do its job because it's too big to handle. Then you have to backup mysql directly.
I'm the first to advocate doing something native to Magento if it can do it, but this is an instance where native is not best.
The built in backup facility in Magento should be avoided at all costs. It pays no heed to table level locks, and will almost certainly bring your store down during its painstakingly long process.
MySQL backups should be carried out via MySQL itself, not via a PHP library.
For your daily backups, mysqldump is perfect. There's a wrapper for this called automysqlbackup - which is well tested and reliable. This would be a good fit for you.
Hourly backups, whilst certainly desirable to lower recovery point objective, will come with inherent problems. Percona make an excellent tool for taking rapid backups, point in time snapshots and incremental binlog snapshots. The package is XtraBackup. It's free but very complex to configure. It snapshots huge databases very quickly, but at the penalty of the output file being an unprocessed format (not an easily restorable .sql file).
Some run MySQL slaves for the sole propose of executing backups, but again, this is not without it's challenges. I would strongly advise attempting to do this, this risk of data loss, or performance bottlenecking through misconfiguration is far too high.
Realistically, backups are the responsibility of your hosting provider (not a store owner/developer) - it would be advised to leave it to them, because a misconfigured backup script will cause you two very real problems,
- Severe performance and reliability issues
- Potential that your backup is improperly created and unusable as a result
If you want a starter script, n98 MageRun (https://github.com/netz98/n98-magerun) has a nice dump facility in it, and we've wrote a DB dump/restore script (see http://s.onas.si/qnwl)
Best Answer
the folder has always been
var/backups
.See the method
Mage_Backup_Helper_Data::getBackupsDir()
it's there in 1.9 and it has been there since the backup module was introduced.
Make sure the folder is writeable and you have enough disk space.
[EDIT]
I was half right in my original answer.
I assumed that
Mage::getBaseDir('var')
always returnsMAGENTO_ROOT/var
but that's not always true.Take a look at the method:
Mage_Core_Model_Config_Options::getVarDir()
(this is called when determining the var dir).If the var folder cannot be created magento uses as var dir the system tmp folder and creates
magento/var
inside it.So for linux that should be
/tmp/magento/var
.Take a look in there, maybe you will find your missing backups.