cron上运行php命令,并备份数据库

2 篇文章 0 订阅
1 篇文章 0 订阅
</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);
		}
	}
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值