CRMEB 多商户 自动备份数据 二次开发

点击了解 CRMEB多商户 其他开源项目源码 :了解更多小姐姐二维码
在这里插入图片描述

一. 首先在项目目录中找到crmeb_merchant/crmeb/listens目录:
(至于任务的任务的名字自己定义就好)

二. 在定时任务的文件(AutoDatabaseBackupListen.php)中编写如下代码:

下面可复制:

public function handle($event): void
{
    //时间为毫秒 如 1000 表示 1 秒
    Timer::tick(1000 * 60 * 60, function () {
        //获取时间
        $_H = date('H',time());
        if($_H == 2 ){  //如果当前时间是  2 点 就执行
            $config = array(
                'level' => 5,   //数据库备份卷大小
                'compress' => 1,//数据库备份文件是否启用压缩 0不压缩 1 压缩
            );
            $service = new MysqlBackupService($config); //数据库操作的 service
            try {
                $data = $service->dataList(); //获取数据库的所有表
                foreach($data as $item){  //循环执行
                    $res = $service->backup($item['name'],0);
                    if ($res == false && $res != 0) {
                        $data .= $item['name'] . '|';
                    }
                }
            } catch (\Exception $e) {
                //如果执行失败则存入日志
                Log::info('自动删除导出文件失败:'.$e->getMessage());
            }
        }
    });
}

(到这里定时任务需要做的功能就好了)
三. 找到crmeb_merchant/app/event.php文件插入代码 \crmeb\listens\AutoDatabaseBackupListen::class,:

(类名改成你自己定义的名就好)

四.在项目根目录下找到.env文件,插入 INSTALLED = true :

五. 最后重启swoole服务就ok了, php think swoole restart .
六. 然后就可以在crmeb_merchant/backup/文件中查看备份的文件,也可以在后台数据库备份文件列表中查看

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值