0) $schema .= ' default \'' . $fields['Default'] . '\''; if ($fields['Null'] != 'YES') $schema .= ' not null'; if (isset($fields['Extra'])) $schema .= ' ' . $fields['Extra']; $schema .= ',' . "\n"; } $schema = ereg_replace(",\n$", '', $schema); // add the keys $index = array(); $keys_query = mysql_query("show keys from `" . $table."`"); while ($keys = mysql_fetch_array($keys_query)) { $kname = $keys['Key_name']; if (!isset($index[$kname])) { $index[$kname] = array('unique' => !$keys['Non_unique'], 'fulltext' => ($keys['Index_type'] == 'FULLTEXT' ? '1' : '0'), 'columns' => array()); } $index[$kname]['columns'][] = "`".$keys['Column_name']."`"; } while (list($kname, $info) = each($index)) { $schema .= ',' . "\n"; $columns = implode($info['columns'], ', '); if ($kname == 'PRIMARY') { $schema .= ' PRIMARY KEY (' . $columns . ')'; } elseif ( $info['fulltext'] == '1' ) { $schema .= ' FULLTEXT `' . $kname . '` (' . $columns . ')'; } elseif ($info['unique']) { $schema .= ' UNIQUE `' . $kname . '` (' . $columns . ')'; } else { $schema .= ' KEY ' . "`".$kname."`" . ' (' . $columns . ')'; } } $schema .= "\n" . ');' . "\n\n"; fputs($fp, $schema); // dump the data $rows_query = mysql_query("select " . implode(',', $table_list) . " from `" . $table."`"); while ($rows = mysql_fetch_array($rows_query)) { $schema = 'insert into `' . $table . '` (' . implode(', ', $table_list) . ') values ('; reset($table_list); while (list(,$i) = each($table_list)) { $i = str_replace('`', '',$i); if (!isset($rows[$i])) { $schema .= 'NULL, '; } elseif ( trim($rows[$i]) != '' ) { $row = addslashes($rows[$i]); $row = ereg_replace("\n#", "\n".'\#', $row); $schema .= '\'' . $row . '\', '; } else { $schema .= '\'\', '; } } $schema = ereg_replace(', $', '', $schema) . ');' . "\n"; fputs($fp, $schema); } } fclose($fp); ?> 'ftp.mysite.com', 'user'=>'ftp_username', 'password'=>'ftp_password', 'dbBackupLocation'=>'server_folder_to_backup_db_to_here', 'dbBackupFilename'=>"db_$date".'.sql', 'emailBackupLocation'=>'server_folder_to_backup_email_here', 'emailBackupFilename'=>'backup_mail_'.$dateDash.'.tar.gz', 'filesBackupLocation1'=>'server_folder_to_backup_files_here', 'filesBackupFilename1'=>'backup_files_'.$dateDash.'.tar.gz', 'filesBackupLocation2'=>'server_folder_to_backup_2ndSet_files_here', 'filesBackupFilename2'=>'backup_files2_'.$dateDash.'.tar.gz'); function getBackup($conn, $location, $file, $mode, $local_file, $user) { ftp_chdir($conn, $location); $local_file = $user.'_'.$file; if (ftp_get($conn, $local_file, $file, $mode)) { // FTP_ASCII for ASCII text, FTP_BINARY FOR IMAGES AND VIDEO, ETC. echo "Successfully written to $local_file\n"; // delete file on server ftp_delete($conn, $file); } else { echo "There was a problem downloading the file\n"; } } foreach ($sites as $site) { // connect to site using FTP $conn = ftp_connect($site['host']); if (!$conn) { echo "Error: Could not connect to FTP server
"; exit; } echo "Connected to ".$site['host']."
"; // log into host $result = ftp_login($conn, $site['user'], $site['password']); if (!$result) { echo "Error: Could not log on as ".$site['user']."
"; ftp_quit($conn); exit; } echo "Logged in as ".$site['user']."
"; // download and save DB backup, email backup and file backup(s) if ( trim($site['dbBackupFilename']) != '' ) { $local_file = $site['user'].'_'.$site['dbBackupFilename']; getBackup($conn, $site['dbBackupLocation'], $site['dbBackupFilename'], FTP_ASCII, $local_file, $site['user']); } if ( trim($site['emailBackupFilename']) != '' ) { $local_file = $site['user'].'_'.$site['emailBackupFilename']; getBackup($conn, $site['emailBackupLocation'], $site['emailBackupFilename'], FTP_BINARY, $local_file, $site['user']); } if ( trim($site['filesBackupFilename1']) != '' ) { $local_file = $site['user'].'_'.$site['filesBackupFilename1']; getBackup($conn, $site['filesBackupLocation1'], $site['filesBackupFilename1'], FTP_BINARY, $local_file, $site['user']); } if ( trim($site['filesBackupFilename2']) != '' ) { $local_file = $site['user'].'_'.$site['filesBackupFilename2']; getBackup($conn, $site['filesBackupLocation2'], $site['filesBackupFilename2'], FTP_BINARY, $local_file, $site['user']); } // close FTP connection ftp_close($conn); } // end foreach ?>