php mysql备份脚本_分享PHP实现定时自动备份数据库发送到邮箱脚本

配置文件<?php

/**

* 任务进程中的配置文件

* time 单位秒

* @var array  */

return [

//任务 id

"TASK"=>[

"clearmeesage"=>[

"time"=>60,

"number"=>0,

"name"=>"clearmeesage"

],//清除短信中不要的垃圾数据

"clearroom"=>[

"time"=>3600,

"number"=>1,

"name"=>"clearroom"

],//清除房间中不要的垃圾数据

"backup"=>[

"time"=>86400,//多久备份一次

"number"=>2,

"name"=>"backup",

"target_dir"=>"/home/bak/",//备份的路径

"dbArray"=>[//要备份的数据库

"tourism_game",

],

"past_time"=>9//过期时间/天

],//数据库定时备份

],

"EXECUTE"=>["clearroom","backup","clearmeesage"],//需要启动的任务 "backup",

//数据库信息

"DB"=>array(

'DB_TYPE' => 'mysql',

'DB_HOST' => 'localhost',

'DB_NAME' => '',//数据库名称

'DB_USER' => '',//数据库账号

'DB_PWD' => '',//密码

'DB_PORT' => '3306',

'DB_CODE'=>'utf8'

),

//邮件发送配置

"EMAIL"=>[

'SMTP_HOST'   => 'smtp.qq.com', //SMTP服务器

'SMTP_PORT'   => '587', //SMTP服务器端口

'SMTP_USER'   => '8044023@qq.com', //SMTP服务器用户名

'SMTP_PASS'   => '', //SMTP服务器密码

'FROM_EMAIL'  => '8044023@qq.com', //发件人EMAIL

'FROM_NAME'   => '测试附件服务器端', //发件人名称

'REPLY_EMAIL' => '', //回复EMAIL(留空则为发件人EMAIL)

'REPLY_NAME'  => '', //回复名称(留空则为发件人名称)

"GET_EMAIL"   => 'cqkxm@qq.com',//接收邮箱地址

],

];

?>

业务代码<?php

/**

* 备份数据库

* @author 码农<8044023@qq.com>

*  */

namespace Crontab;

import("PHPMailer.PHPMailerAutoload");//邮件发送插件

class init{

public static function _init(){

$date = date("Ymd");

$sql_arr=array();

foreach(C("TASK.backup")['dbArray'] as $db_name){

$sql_name=C("TASK.backup")['target_dir'].$db_name."_".$date.".sql";

$command ="mysqldump -u ".C("DB.DB_USER")." -p".replace_keyword(C("DB.DB_PWD"))." ".$db_name." >".$sql_name;

shell_exec($command);

$sql_arr[]=$sql_name;

}

//邮件发送C("EMAIL.GET_EMAIL")

timePHP_send_mail(C("EMAIL.GET_EMAIL"),'测试备份-'.date("Y-m-d H:i:s"),'备份测试环境-'.date("Y-m-d H:i:s",time()),'

感谢你使用timePHP框架!

',$sql_arr);

//删除 过期的数据库备份数据

$past_time=C("TASK.backup")['target_dir'];

for($i=$past_time;$i>=1;$i--){

foreach(C("TASK.backup")['db_array'] as $db_name){

$command="rm -rf ".C("TASK.backup")['target_dir'].$db_name."_".date("Ymd",time()-(($i+$past_time)*86400)).".sql";

shell_exec($command);//是否删除 过期的数据库

}

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值