首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导出数据库&使用PHP shell_exec()

导出数据库&使用PHP shell_exec()
EN

Stack Overflow用户
提问于 2021-04-20 15:36:44
回答 1查看 336关注 0票数 1

我创建了一个快速路由,触发运行shell_exec()的fn来备份我的数据库。

代码语言:javascript
复制
mysqldump -u john -p123 db1 > /home/john/db1.04-20-21-11-28-am.sql

为了节省服务器空间,我还想压缩转储的

代码语言:javascript
复制
tar -czvf db1.04-20-21-11-28-am.sql.tar.gz db1.04-20-21-11-28-am.sql && rm -rf db1.04-20-21-11-28-am.sql

我不知道为什么zip命令即使在第一个命令之后加上一个sleep(),也不会运行。

我做错什么了?

Note:如果我在服务器的命令行上复制并运行tar命令,那么tar命令就能很好地工作。

代码

代码语言:javascript
复制
public function dbBackUp()
{

    $un = env('DB_USERNAME');
    $pw = env('DB_PASSWORD');
    $db = env('DB_DATABASE');

    $date = date('m-d-y-g-i-a');

    $cmd = 'mysqldump -u ' . $un . ' -p' . $pw . ' ' . $db . ' > /home/john/' . $db . '.'.$date.'.sql';
    $result = shell_exec($cmd);

    sleep(2);

    $cmd2 = 'tar -czvf '. $db . '.'. $date .'.sql.tar.gz '. $db .'.'.$date.'.sql && rm -rf '. $db .'.'.$date.'.sql';
    $result2 = shell_exec($cmd2);
    
    $un = env('DB_USERNAME');
    $pw = env('DB_PASSWORD');
    $db = env('DB_DATABASE_BABIES');
    $cmd3 = 'mysqldump -u ' . $un . ' -p' . $pw . ' ' . $db . ' > /home/john/' . $db . '.'.$date.'.sql';
    $result3 = shell_exec($cmd3);

    sleep(2);

    $cmd4 = 'tar -czvf '. $db . '.'. $date .'.sql.tar.gz '. $db .'.'.$date.'.sql && rm -rf '. $db .'.'.$date.'.sql';
    $result4 = shell_exec($cmd4);
    sleep(2);

    $data = []; 

    if($result != null ){
        return View::make('layouts.dbBackUp');
    } else {
        return $data;
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-20 15:45:19

我想您丢失了tar命令中的"/home/john/“部分,这样它就找不到文件了。

也许这会有帮助:

代码语言:javascript
复制
//change to the directory that contains the file you want to zip
chdir('/home/john/');

$cmd2 = 'tar -czvf '. $db . '.'. $date .'.sql.tar.gz '. $db .'.'.$date.'.sql && rm -rf '. $db .'.'.$date.'.sql';
$result2 = shell_exec($cmd2);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67182051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档