我在 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);}是否有任何特定的查询可以自动备份?
2 回答

月关宝盒
TA贡献1772条经验 获得超5个赞
如果你有它在一个实时服务器上,你可以设置一个 cron 作业来调用 php 文件。如果要在本地进行设置,则可以使用相应操作系统的任务调度程序之类的东西来调用 php 脚本,然后将 url 作为参数。或者您可以创建一个bat
文件并将其添加到调度程序中,其中包含以下内容:
php 'path/to/project/index.php' dbbackup
如果您使用的是实时服务器,您可以在终端上使用以下命令打开 cron 表:
crontab -e
然后添加一个条目来制定一个适合您需要的计划,
crontab 文件的每一行都有六个参数,它们依次是:
分钟(0 到 59)
小时(0 到 23)
一个月中的某天(1 到 31)
月(1 至 12)
星期几(0 - 6)
命令(要执行的命令)
例子 :
0 13 * * * php [application_path]/index.php dbbackup

白衣染霜花
TA贡献1796条经验 获得超10个赞
你为什么不直接使用crontab
并mysqldump
在需要的时间进行备份,实际上不需要使用dbutil
类,与类mysqldump
相比会更快更可靠dbutil
。
如果您阅读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
- 2 回答
- 0 关注
- 229 浏览
添加回答
举报
0/150
提交
取消