php - 使用 CodeIgniter 自动备份 MySQL 数据库

标签 php mysql database codeigniter database-backups

我在 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);
}

是否有任何特定的查询要自动备份?

最佳答案

为什么不使用crontabmysqldump在需要的时间进行备份,实际上不需要使用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/

相关文章:

php - 第二个 if 语句的迭代太多,它列出了额外的空白项目符号

php - Xampp控制面板apache错误

mysql - 我如何破解这个 SQL Soccer Matches 作业?

mysql - 如何删除mysql中的开始字段空间?

java - 数据库连接在两个应用程序之间共享的对象的整个生命周期内打开

php - 将旧的 mysql 更改为 pdo 时无法工作

php - 将数据从服务器同步到 Android 设备的建议

php - 锁定的表可以通过包含的脚本访问吗?

mysql - 将此数据加载到 MySQL 的最佳方法

sql - Sql如何只返回所有重复的条目