Statistiques
| Branche: | Révision :

root / src / backup.php @ ed74d101

Historique | Voir | Annoter | Télécharger (2,09 ko)

1 47b3bfd6 Florent Chuffart
<?php
2 47b3bfd6 Florent Chuffart
require_once ("connect_entry.php");
3 47b3bfd6 Florent Chuffart
4 47b3bfd6 Florent Chuffart
$tmp_dir = "/tmp/";
5 1afdd485 Florent Chuffart
$backup_dirname = "labstocks_backup_" . date("Y-m-d_H-i-s", mktime());
6 47b3bfd6 Florent Chuffart
$backup_filename = $backup_dirname . ".tgz";
7 47b3bfd6 Florent Chuffart
$absolute_backup_dir = $tmp_dir . $backup_dirname;
8 47b3bfd6 Florent Chuffart
$absolute_backup_file = $absolute_backup_dir . ".tgz";
9 47b3bfd6 Florent Chuffart
10 47b3bfd6 Florent Chuffart
exec("mkdir $absolute_backup_dir");
11 1afdd485 Florent Chuffart
exec("chmod a+w $absolute_backup_dir");
12 1afdd485 Florent Chuffart
13 1afdd485 Florent Chuffart
exec("mkdir $absolute_backup_dir");
14 47b3bfd6 Florent Chuffart
if ($_REQUEST["FULL_BACK"]) {
15 47b3bfd6 Florent Chuffart
  exec("cp -r plasmid_files raw_dirs $absolute_backup_dir");
16 1afdd485 Florent Chuffart
}  
17 1afdd485 Florent Chuffart
  
18 1afdd485 Florent Chuffart
19 1afdd485 Florent Chuffart
// $cmd = "mysqldump --user=" . NOM . " --password=" . PASSE . " --host=" . SERVEUR . ' --tab=' . $absolute_backup_dir . ' --fields-terminated-by=";" --fields-enclosed-by="\"" --fields-escaped-by="\"\"" --lines-terminated-by="\r\n" --no-create-db --no-create-info ' . BASE . " " . $_REQUEST["TABLE"] . " > " . $absolute_backup_dir . "/" . BASE . "_" . $_REQUEST["TABLE"] . ".csv";
20 1afdd485 Florent Chuffart
21 1afdd485 Florent Chuffart
if ($_REQUEST["TABLE"]) {
22 1afdd485 Florent Chuffart
  $cmd = "mysqldump --user=" . NOM . " --password=" . PASSE . " --host=" . SERVEUR . ' --tab=' . $absolute_backup_dir . ' --fields-terminated-by=";"  --no-create-db --no-create-info ' . BASE . " " . $_REQUEST["TABLE"];
23 1afdd485 Florent Chuffart
  // echo($cmd);
24 1afdd485 Florent Chuffart
  // die();
25 1afdd485 Florent Chuffart
  exec($cmd);  
26 1afdd485 Florent Chuffart
  exec("cp $absolute_backup_dir/" . $_REQUEST["TABLE"] . ".txt $absolute_backup_dir/" . $_REQUEST["TABLE"] . ".csv ");
27 1afdd485 Florent Chuffart
} else {
28 1afdd485 Florent Chuffart
  exec("mysqldump --user=" . NOM . " --password=" . PASSE . " --host=" . SERVEUR . " " . BASE . " > " . $absolute_backup_dir . "/" . BASE . ".sql");  
29 47b3bfd6 Florent Chuffart
}
30 1afdd485 Florent Chuffart
31 47b3bfd6 Florent Chuffart
$cmd = "tar Pcfvz $absolute_backup_file -C $tmp_dir $backup_dirname";
32 47b3bfd6 Florent Chuffart
exec($cmd);
33 47b3bfd6 Florent Chuffart
exec("rm -Rf " . $absolute_backup_dir);
34 47b3bfd6 Florent Chuffart
35 47b3bfd6 Florent Chuffart
$attachment_location = $absolute_backup_dir . ".tgz";
36 47b3bfd6 Florent Chuffart
if (file_exists($attachment_location)) {
37 47b3bfd6 Florent Chuffart
  header($_SERVER["SERVER_PROTOCOL"] . " 200 OK");
38 47b3bfd6 Florent Chuffart
  header("Cache-Control: public"); // needed for i.e.
39 ed74d101 Florent Chuffart
  //header("Content-Type: application/gzip");
40 47b3bfd6 Florent Chuffart
  header("Content-Transfer-Encoding: Binary");
41 47b3bfd6 Florent Chuffart
  header("Content-Length:".filesize($attachment_location));
42 47b3bfd6 Florent Chuffart
  header("Content-Disposition: attachment; filename=" . $backup_filename);
43 47b3bfd6 Florent Chuffart
  readfile($attachment_location);
44 47b3bfd6 Florent Chuffart
  exec("rm -Rf $absolute_backup_file");
45 47b3bfd6 Florent Chuffart
  die();        
46 47b3bfd6 Florent Chuffart
} else {
47 47b3bfd6 Florent Chuffart
  die("Error: File not found.");
48 47b3bfd6 Florent Chuffart
} 
49 47b3bfd6 Florent Chuffart
50 47b3bfd6 Florent Chuffart
51 47b3bfd6 Florent Chuffart
52 47b3bfd6 Florent Chuffart
?>