/home/cpuser/backups/backup.log */ // configure your database variables below: $dbhost = 'localhost'; // Server address of your MySQL Server $dbuser = 'cpuser_dbuser'; // Username to access MySQL database $dbpass = 'dbuserpass'; // Password to access MySQL database $dbname = 'cpuser_dbname'; // Database Name // Optional Options You May Optionally Configure $use_gzip = "yes"; // Set to No if you don't want the files sent in .gz format $remove_sql_file = "yes"; // Set this to yes if you want to remove the .sql file after gzipping. Yes is recommended. $remove_gzip_file = "no"; // Set this to yes if you want to delete the gzip file also. I recommend leaving it to "no" // Configure the path that this script resides on your server. $savepath = "/home/cpuser/backups"; // Full path to this directory. Do not use trailing slash! $send_email = "yes"; // Do you want this database backup sent to your email? Fill out the next 2 lines $to = "backups@domain.com"; // Who to send the emails to $from = "user@domain.com"; // Who should the emails be sent from? $senddate = date("j F Y"); $subject = "MySQL Database Backup - $senddate"; // Subject in the email to be sent. $message = "Your MySQL database has been backed up and is attached to this email"; // Brief Message. $use_ftp = "no"; // Do you want this database backup uploaded to an ftp server? Fill out the next 4 lines $ftp_server = "localhost"; // FTP hostname $ftp_user_name = "ftp_username"; // FTP username $ftp_user_pass = "ftp_password"; // FTP password $ftp_path = "/"; // This is the path to upload on your ftp server! // Do not Modify below this line! It will void your warranty! $date = date("mdy-hia"); $filename = "$savepath/$dbname-$date.sql"; passthru("mysqldump --opt -h$dbhost -u$dbuser -p$dbpass $dbname >$filename"); if($use_gzip=="yes"){ $zipline = "tar -czf ".$dbname."-".$date."_sql.tar.gz $dbname-$date.sql"; shell_exec($zipline); } if($remove_sql_file=="yes"){ exec("rm -r -f $filename"); } if($use_gzip=="yes"){ $filename2 = "$savepath/".$dbname."-".$date."_sql.tar.gz"; } else { $filename2 = "$savepath/$dbname-$date.sql"; } if($send_email == "yes" ){ $fileatt_type = filetype($filename2); $fileatt_name = "".$dbname."-".$date."_sql.tar.gz"; $headers = "From: $from"; // Read the file to be attached ('rb' = read binary) $file = fopen($filename2,'rb'); $data = fread($file,filesize($filename2)); fclose($file); // Generate a boundary string $semi_rand = md5(time()); $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x"; // Add the headers for a file attachment $headers .= "\nMIME-Version: 1.0\n" ."Content-Type: multipart/mixed;\n" ." boundary=\"{$mime_boundary}\""; // Add a multipart boundary above the plain message $message = "This is a multi-part message in MIME format.\n\n" ."--{$mime_boundary}\n" ."Content-Type: text/plain; charset=\"iso-8859-1\"\n" ."Content-Transfer-Encoding: 7bit\n\n" . $message . "\n\n"; // Base64 encode the file data $data = chunk_split(base64_encode($data)); // Add file attachment to the message $message .= "--{$mime_boundary}\n" ."Content-Type: {$fileatt_type};\n" ." name=\"{$fileatt_name}\"\n" ."Content-Disposition: attachment;\n" ." filename=\"{$fileatt_name}\"\n" ."Content-Transfer-Encoding: base64\n\n" . $data . "\n\n" ."--{$mime_boundary}--\n"; // Send the message $ok = @mail($to, $subject, $message, $headers); if ($ok) { echo "

Database backup created and sent! File name $filename2

"; } else { echo "

Mail could not be sent. Sorry!

"; } } if($use_ftp == "yes"){ $ftpconnect = "ncftpput -u $ftp_user_name -p $ftp_user_pass -d debsender_ftplog.log -e dbsender_ftplog2.log -a -E -V $ftp_server $ftp_path $filename2"; shell_exec($ftpconnect); echo "

$filename2 Was created and uploaded to your FTP server!

"; } if($remove_gzip_file=="yes"){ exec("rm -r -f $filename2"); } ?>