我在 Codeigniter 项目上创建了一个备份选项。现在我想每天固定时间自动备份数据库。
这是我的备份代码:
function dbbackup(){
$this->load->dbutil();
$prefs = array(
'format' => 'zip',
'filename' => 'my_db_backup.sql'
);
$backup =& $this->dbutil->backup($prefs);
$db_name = "backup_on_" . date("d_m_Y_h_i_s_a") . ".zip";
$save = 'uploads/dbbackup/'.$db_file_name;
$this->load->helper('file');
write_file($save, $backup);
$this->load->helper('download');
force_download($db_name, $backup);
}
是否有任何特定的查询要自动备份?
最佳答案
为什么不使用crontab
和mysqldump
在需要的时间进行备份,实际上不需要使用dbutil
类,与 dbutil
类相比,mysqldump
将更快、更可靠。
如果你读过 mysqli_utility
, _backup
method 的源代码,您将了解它如何影响性能。
举例说明每天14:30
进行备份
crontab -e
输入如下内容
30 14 * * * /usr/bin/mysqldump --user=USER --password=PASSWORD --databases DBNAME1 DBNAME2 | gzip > /home/someuser/backup.$(date +"%d_%m_%Y_%H_%M_%S").sql.gz
保存crontab
关于php - 使用 CodeIgniter 自动备份 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58056677/