Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- // 9. satırdaki linki kendinize göre değiştirebilirsiniz. ben yandex disk te "dbBackups" diye bi klasör açtım siz başka bir klasörde tutacaksanız yada anadizinde tutacaksanız değiştirin
- //10. satırda kullanıcı adı ve şifrenizi değiştirin
- function backup($host = "localhost",$user = "root",$pass = "defaultPassword" ,$dbName)
- {
- //backup path
- //$path = '/var/sqlBackups/';
- $path = "backups/";
- //webdav credentials
- $webdavUrl = "https://webdav.yandex.com.tr/dbBackups/";
- $webdavCredentials = array(
- 'username',
- 'passs'
- );
- // comm
- $link = mysql_connect($host,$user,$pass) or die("could not connect");
- mysql_select_db($dbName,$link);
- $tables = array();
- $result = mysql_query('SHOW TABLES');
- while($row = mysql_fetch_row($result))
- {
- $tables[] = $row[0];
- }
- $return = "";
- //generate output
- foreach($tables as $table)
- {
- $result = mysql_query('SELECT * FROM '.$table);
- $numFields = mysql_num_fields($result);
- $return .= 'DROP TABLE '.$table.';';
- $query = mysql_fetch_row(mysql_query('SHOW CREATE TABLE '.$table));
- $return.= "\n\n".$query[1].";\n\n";
- for ($i = 0; $i < $numFields; $i++)
- {
- while($row = mysql_fetch_row($result))
- {
- $return.= 'INSERT INTO '.$table.' VALUES(';
- for($j=0; $j<$numFields; $j++)
- {
- $row[$j] = addslashes($row[$j]);
- $row[$j] = str_replace("\n","\\n",$row[$j]);
- if (isset($row[$j])) { $return.= '"'.$row[$j].'"' ; } else { $return.= '""'; }
- if ($j<($numFields-1)) { $return.= ','; }
- }
- $return.= ");\n";
- }
- }
- $return.="\n\n\n";
- }
- //save to file
- $saltFileName = 'sqlBackup-'.$dbName.'-'.date('D-m-y').'-'.time().'-.sql';
- $fileName = $path . $saltFileName;
- $fileHandler = fopen($fileName, 'w+');
- fwrite($fileHandler,$return);
- fclose($fileHandler);
- $fileHandler = fopen($fileName, 'r');
- // webdav thing
- $fileSize = filesize($fileName);
- $ch = curl_init($webdavUrl . $saltFileName);
- curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
- curl_setopt($ch, CURLOPT_USERPWD, implode(':', $webdavCredentials));
- curl_setopt($ch, CURLOPT_PUT, true);
- curl_setopt($ch, CURLOPT_INFILE, $fileHandler);
- curl_setopt($ch, CURLOPT_INFILESIZE, $fileSize);
- curl_exec($ch);
- fclose($fileHandler);
- }
- backup('localhost','root','kargagak','landing');
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement