数据备份——PHP

在大多数情况下,开发实在win下进行,因此,然系统每天自动备份数据这也是有必要的饿。

Windows平台数据备份

  • 创建批处理文件

    在批处理文件中填写如下代码:

    D:\wamp64\bin\php\php7.0.10\php.exe D:\mythings\backup\back.php #php安装路径 运行的PHP文件路径

      需要注意的是:路径别错。

  • 创建运行的PHP文件

    <?php 
    /*定时备份数据库文件*/
     
    //设置时区
    date_default_timezone_set( 'PRC' );
    //根据时间生成文件名称
    $bakFileName = date( 'YmdHis', time() ) . '.sql';
    $command = "D:/wamp64/bin/mysql/mysql5.7.14/bin/mysqldump -uroot -proot --all-databases>D:/mythings/backup/{$bakFileName}";
     
    /**
     * F:/web/mysql-5.6.31-winx64/bin/mysqldump mysql安装的目录mysqldump文件的路径
     * root 数据库账号
     * Abner 数据库密码
     * dede 要备份数据库名称
     * F:/test//{$bakFileName} 生成备份的文件
     *
     * -------------------exec()函数用法------------------------------------
     * exec语法: string exec(string command, string [array], int [return_var]);
     * exec返回值: 字符串
     * Command – 需要执行的命令
     * Array –  是输出值
     * return_var –是返回值0或1,如果返回0则执行成功,返回1则执行失败
     */
     
    exec($command,$arr, $num);
     
    if($num == 0)
        echo "ok";
    else
        echo "no";
    
    ?>

  • 添加win任务执行程序,网上有很多,自行百度。

Linux使用PHP进行下数据备份

  • 创建PHP运行程序

    代码如上PHP备份文件,
  • 使用crontab 提那家定时执行任务

    crontab –e  #b编辑的是/var/spool/cron下对应用户的cron文件,也可以直接修改/etc/crontab文件,添加如下字符

    00 00 * * 7 /usr/bin/php -f /home/wwwroot/default/db_back/db_back.php  #指明PHP的安装路径, 以及运行文件路径

注意事项:

  • exec ,shell_exec , system 返回 null

    注意这是命令执行,是要在命令行中执行的,不能用流览器直接访问。

    如果使用了禁用函数赎回提示: exec() has been disabled for security reasons。

    一般在llinux系统下 函数被禁。

    调试建议:用PHP的命令行执行程序,这样更叫有利于调试。

参考文档:

    0 条评论
    发表一条评论