自用的,将以下代码保存为php文件,然后cron定时执行。需准备另外一个FTP机器存放备份
这个是备份MYSQL数据库的- <?php
- //本地备份目录
- $localdir='/var/www/backup';
- //远程FTP目录
- $ftpdir='/mybackup/';
- //FTP信息
- $ftp_server='FTP服务器的域名或IP';
- $ftp_user='FTP账号';
- $ftp_pass='FTP密码';
- $stamp=date("Y-m-d",time());
- shell_exec("cd $localdir;mysqldump -u数据库账号 -p数据库密码 数据库名 > 163com_db_$stamp.sql;bzip2 -z -9 -f 163com_db_$stamp.sql;");
- //FTP上传文件
- $filename="163com_db_$stamp.sql.bz2";
- if(empty($filename)){
- //ftpupload('1.txt');
- exit;
- }elseif(!file_exists($localdir.'/'.$filename)){
- //ftpupload('2.txt');
- exit;
- }else{
- //上传开始
- ftpupload($filename);
- exit;
- }
- function ftpupload($filename){
- global $localdir, $ftpdir, $ftp_server, $ftp_user, $ftp_pass;
- $source_file=$localdir.'/'.$filename;
- $destination_file=$ftpdir.$filename;
- $conn_id=ftp_connect($ftp_server) or die("不能连接到FTP服务器");
- $login_result=ftp_login($conn_id,$ftp_user,$ftp_pass);
- if(!$conn_id||!$login_result){
- echo 'FTP服务器连接错误';
- exit;
- }else{
- }
- ftp_pasv($conn_id,false);
- ftp_put($conn_id,$destination_file,$source_file,FTP_BINARY) or die("不能连接到FTP服务器");
- ftp_close($conn_id);
- //删除本地备份
- unlink($localdir.'/'.$filename);
- }
- ?>
复制代码
[ 本帖最后由 l12ab 于 2011-9-26 22:02 编辑 ] |