aboutsummaryrefslogtreecommitdiff
path: root/src/service/Backup.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/service/Backup.php')
-rw-r--r--src/service/Backup.php22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/service/Backup.php b/src/service/Backup.php
index d628c27..313d1f6 100644
--- a/src/service/Backup.php
+++ b/src/service/Backup.php
@@ -37,7 +37,12 @@ class Backup
37 ]); 37 ]);
38 38
39 try{ 39 try{
40 // unlink et chmod permettent que le serveur et l'utilisateur appelant bin/mysqldump.php réussissent
41 if(file_exists($file_path)){
42 unlink($file_path);
43 }
40 $command->mustRun(); // comme run() mais lance une ProcessFailedException 44 $command->mustRun(); // comme run() mais lance une ProcessFailedException
45 chmod($file_path, 0666);
41 return $file_path; 46 return $file_path;
42 } 47 }
43 finally{ 48 finally{
@@ -59,6 +64,23 @@ class Backup
59 }*/ 64 }*/
60 } 65 }
61 66
67 static public function getBackupList(): array
68 {
69 $backup_array = [];
70 foreach(scandir(Backup::$backup_dir) as $file){
71 if($file[0] === '.'){
72 continue;
73 }
74 $backup_array[] = $file;
75 }
76 return $backup_array;
77 }
78 static public function getLastBackupName(): string
79 {
80 $backup_list = self::getBackupList();
81 return $backup_list[count($backup_list) - 1];
82 }
83
62 static public function cleanBackups(): void { 84 static public function cleanBackups(): void {
63 $files = glob(self::$backup_dir . '/*.sql'); 85 $files = glob(self::$backup_dir . '/*.sql');
64 usort($files, fn($a, $b) => filemtime($b) <=> filemtime($a)); // filemtime = date de dernière modification 86 usort($files, fn($a, $b) => filemtime($b) <=> filemtime($a)); // filemtime = date de dernière modification