php自动备份数据库发送邮箱程序,如何使用 PHP 以发送邮件的方式自动定时备份 MySQL 数据库表数据 - 文章教程...

本方法只适用数据量较少的网站,数据量大的网站请考虑其他可行方案!

此脚本将向您发送一封电子邮件,附带一个 .sql 文件,从而使您能够轻松地备份特定的表。如果你有一个数据库驱动的网站,你的 MySQL 信息是最有价值的,您甚至可以设置一个电子邮件帐户来接收这些备份。

首先,如果您将脚本放置在一个非 Web 访问的文件夹中,并在其上运行每日 cron 自动定时作业,此脚本的工作效果最好。Cron 是一个服务器工具,可以定期或在指定的时间运行脚本,因此您不需要在浏览器中调用它们。

这个脚本的已知限制:如果您有一个超过2mb的大型数据库表,您可能会遇到php超时和php邮件附件限制。

// Create the mysql backup file

// edit this section

$dbhost = "yourhost"; // usually localhost

$dbuser = "yourusername";

$dbpass = "yourpassword";

$dbname = "yourdb";

$sendto = "Webmaster ";

$sendfrom = "Automated Backup ";

$sendsubject = "Daily Mysql Backup";

$bodyofemail = "Here is the daily backup.";

// don't need to edit below this section

$backupfile = $dbname . date("Y-m-d") . '.sql';

system("mysqldump -h $dbhost -u $dbuser -p$dbpass $dbname > $backupfile");

// Mail the file

include( 'Mail.php' );

include( 'Mail/mime.php' );

$message = new Mail_mime();

$text = "$bodyofemail";

$message->setTXTBody( $text );

$message->AddAttachment( $backupfile );

$body = $message->get();

$extraheaders = array( "From"=> $sendfrom, "Subject"=> $sendsubject );

$headers = $message->headers( $extraheaders );

$mail = Mail::factory( "mail" );

$mail->send( $sendto, $headers, $body );

// Delete the file from your server

unlink($backupfile);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值