Skip to content

Commit 735797f

Browse files
committed
feat: #195 improve backups folder layout
1 parent c2f0482 commit 735797f

File tree

2 files changed

+11
-7
lines changed

2 files changed

+11
-7
lines changed

Diff for: app/Console/Commands/DispatchProcessBackupTask.php

+5-3
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
use Exception;
1010
use Illuminate\Console\Command;
1111
use Illuminate\Support\Facades\DB;
12+
use Illuminate\Support\Str;
1213

1314
class DispatchProcessBackupTask extends Command
1415
{
@@ -67,8 +68,9 @@ protected function dispatchBackupTask(): void
6768
]);
6869

6970
$date = now()->format('Y-m-d_His');
70-
$backupFileName = dockerize_name("svc-{$service->id}-{$process->name}_backup-{$backupCmd->name}-{$date}").'.tar.gz';
71-
$archivePath = "{$process->backupVolume->path}/$backupFileName";
71+
$backupFilePath = "svc_{$service->id}/{$process->name}/cmd/{$backupCmd->name}/{$process->name}-cmd-{$backupCmd->name}-{$date}.tar.gz";
72+
$backupFileSlug = Str::slug($backupFilePath, separator: '_');
73+
$archivePath = "{$process->backupVolume->path}/$backupFileSlug";
7274
$backupCommand = "mkdir -p /tmp/{$backupCmd->id} && cd /tmp/{$backupCmd->id} && {$backupCmd->command} && tar czfv $archivePath -C /tmp/{$backupCmd->id} . && rm -rf /tmp/{$backupCmd->id}";
7375

7476
$s3Storage = $node->swarm->data->findS3Storage($backupCmd->backupSchedule->s3StorageId);
@@ -105,7 +107,7 @@ protected function dispatchBackupTask(): void
105107
'Target' => $process->backupVolume->path,
106108
],
107109
'SrcFilePath' => $archivePath,
108-
'DestFilePath' => $s3Storage->pathPrefix.'/'.$backupFileName,
110+
'DestFilePath' => $s3Storage->pathPrefix.'/'.$backupFilePath,
109111
],
110112
],
111113
]);

Diff for: app/Console/Commands/DispatchVolumeBackupTask.php

+6-4
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
use Exception;
1111
use Illuminate\Console\Command;
1212
use Illuminate\Support\Facades\DB;
13+
use Illuminate\Support\Str;
1314

1415
class DispatchVolumeBackupTask extends Command
1516
{
@@ -54,7 +55,7 @@ protected function dispatchBackupTask(): void
5455

5556
$volume = $process->findVolume($this->option('volume-id'));
5657
if ($volume === null) {
57-
throw new Exception("Could not find volume {$this->option('volume')} in process {$process->name}.");
58+
throw new Exception("Could not find volume {$this->option('volume-id')} in process {$process->name}.");
5859
}
5960

6061
$node = Node::withoutGlobalScope(TeamScope::class)->findOrFail($process->placementNodeId);
@@ -68,8 +69,9 @@ protected function dispatchBackupTask(): void
6869
]);
6970

7071
$date = now()->format('Y-m-d_His');
71-
$backupFileName = dockerize_name("svc-{$service->id}-{$process->name}-vol-{$volume->name}-{$date}").'.tar.gz';
72-
$archivePath = "{$process->backupVolume->path}/$backupFileName";
72+
$backupFilePath = "svc_{$service->id}/{$process->name}/vol/{$volume->name}/{$process->name}-vol-{$volume->name}-{$date}.tar.gz";
73+
$backupFileSlug = Str::slug($backupFilePath, separator: '_');
74+
$archivePath = "{$process->backupVolume->path}/$backupFileSlug";
7375
$backupCommand = "tar czfv $archivePath -C {$volume->path} .";
7476

7577
// TODO: get rid of copy-pasted code.
@@ -108,7 +110,7 @@ protected function dispatchBackupTask(): void
108110
'Target' => $process->backupVolume->path,
109111
],
110112
'SrcFilePath' => $archivePath,
111-
'DestFilePath' => $s3Storage->pathPrefix.'/'.$backupFileName,
113+
'DestFilePath' => $s3Storage->pathPrefix.'/'.$backupFilePath,
112114
],
113115
],
114116
]);

0 commit comments

Comments
 (0)