Statistiques
| Branche: | Révision :

root / src / backup.php @ a9b72d88

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

1
<?php
2
require_once ("connect_entry.php");
3

    
4
$tmp_dir = "/tmp/";
5
$backup_dirname = "labstocks_backup_" . date("Y-m-d_H-i-s", mktime());
6
$backup_filename = $backup_dirname . ".tgz";
7
$absolute_backup_dir = $tmp_dir . $backup_dirname;
8
$absolute_backup_file = $absolute_backup_dir . ".tgz";
9

    
10
exec("mkdir $absolute_backup_dir");
11
exec("chmod a+w $absolute_backup_dir");
12

    
13
exec("mkdir $absolute_backup_dir");
14
if ($_REQUEST["FULL_BACK"]) {
15
  exec("cp -r plasmid_files raw_dirs $absolute_backup_dir");
16
}  
17
  
18

    
19
// $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

    
21
if ($_REQUEST["TABLE"]) {
22
  $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
  // echo($cmd);
24
  // die();
25
  exec($cmd);  
26
  exec("cp $absolute_backup_dir/" . $_REQUEST["TABLE"] . ".txt $absolute_backup_dir/" . $_REQUEST["TABLE"] . ".csv ");
27
} else {
28
  exec("mysqldump --user=" . NOM . " --password=" . PASSE . " --host=" . SERVEUR . " " . BASE . " > " . $absolute_backup_dir . "/" . BASE . ".sql");  
29
}
30

    
31
$cmd = "tar Pcfvz $absolute_backup_file -C $tmp_dir $backup_dirname";
32
exec($cmd);
33
exec("rm -Rf " . $absolute_backup_dir);
34

    
35
$attachment_location = $absolute_backup_dir . ".tgz";
36
if (file_exists($attachment_location)) {
37
  header($_SERVER["SERVER_PROTOCOL"] . " 200 OK");
38
  header("Cache-Control: public"); // needed for i.e.
39
  //header("Content-Type: application/gzip");
40
  header("Content-Transfer-Encoding: Binary");
41
  header("Content-Length:".filesize($attachment_location));
42
  header("Content-Disposition: attachment; filename=" . $backup_filename);
43
  readfile($attachment_location);
44
  exec("rm -Rf $absolute_backup_file");
45
  die();        
46
} else {
47
  die("Error: File not found.");
48
} 
49

    
50

    
51

    
52
?>