cron上运行php命令,并备份数据库
2015-09-23 15:46
459 查看
</pre><div style="font-family: 'Microsoft YaHei', SimSun, Verdana, Arial, Helvetica, sans-serif; line-height: 21px; font-size: 14px;"><strong>cron上运行php命令,并备份数据库</strong></div><div style="font-family: 'Microsoft YaHei', SimSun, Verdana, Arial, Helvetica, sans-serif; line-height: 21px; font-size: 14px;">要在cron上运行php程序,需要在命令行中先找到php的运行位置,如/home/user/bin/php,管理员一般都知道自己的php安装位置,不知道也没关系,可以通过whereis php这个命令来查找php的安装位置。</div><div style="font-family: 'Microsoft YaHei', SimSun, Verdana, Arial, Helvetica, sans-serif; line-height: 21px; font-size: 14px;"><strong><em>/home/user/bin/php a.php</em></strong></div><div style="font-family: 'Microsoft YaHei', SimSun, Verdana, Arial, Helvetica, sans-serif; line-height: 21px; font-size: 14px;">这样我们就运行了a.php这个文件。但是要php执行备份数据库的命令还是不够的,我们知道备份数据的命令是mysqldump -u.....>mysql.sql形式的,并且是运行在命令行中的(当然还有其他方式,但这个最便捷),因此我们还需要在php文件中输出命令行命令,也就是system($cmd,$error)这个函数。</div><div style="font-family: 'Microsoft YaHei', SimSun, Verdana, Arial, Helvetica, sans-serif; line-height: 21px; font-size: 14px;">下面附上mysqldump.php的部分代码。</div><pre name="code" class="php"><?php //数据库备份基类 class MysqlDump{ private $cmd; public function __construct($dbUser,$dbPass,$dbName,$dest,$zip='gz') { $zip_util = array('gz'=>'gzip','bz2'=>'bzip2'); if(array_key_exists($zip,$zip_util)) { $fname = $dbName . '.' . date('w') . '.sql.' .$zip; $this->cmd = 'mysqldump -u' . $dbUser . ' -p' . $dbPass . ' ' . $dbName . '| ' .$zip_util[$zip] . '>' .$dest . '/' . $fname ; } else { $fname = $dbName . '.' . date('w') . '.sql'; $this->cmd = 'mysqldump -u' . $dbUser . ' -p' . $dbPass . ' ' . $dbName . '>' .$dest . '/' . $fname ; } } public function backup() { system($this->cmd,$error); if($error) { trigger_error('Backup faild: ' . $error); } } }
相关文章推荐
- WindowManager.LayoutParams 的各种属性
- laravel 项目运行
- php-fpm和fastcgi之间的关系
- Windows环境下尝试安装并配置PHP PEAR
- php实现简单的MVC框架实例
- php汉字字符串长度和截取
- php的各种比较函数
- php实现的单一入口应用程序实例分析
- PHP pow() 函数
- laravel笔记
- PHP Session可能会引起并发问题
- thinkphp中ajax用户名校验
- PHP+MySQL开发的10条建议
- ThinkPHP——RBAC不同用户登录系统显示不同权限
- YII2中Codeception的安装
- 实现php-fpm的工作机制,编译LAMP_2015092101
- PHP中常见的缓存技术实例分析
- 深入理解PHP原理之函数(Introspecting PHP Function)
- Windows下IIS以FastCGI模式运行PHP的方法
- PHPStrom中实用的功能和快捷键大全