10
10
use Exception ;
11
11
use Illuminate \Console \Command ;
12
12
use Illuminate \Support \Facades \DB ;
13
+ use Illuminate \Support \Str ;
13
14
14
15
class DispatchVolumeBackupTask extends Command
15
16
{
@@ -54,7 +55,7 @@ protected function dispatchBackupTask(): void
54
55
55
56
$ volume = $ process ->findVolume ($ this ->option ('volume-id ' ));
56
57
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 }. " );
58
59
}
59
60
60
61
$ node = Node::withoutGlobalScope (TeamScope::class)->findOrFail ($ process ->placementNodeId );
@@ -68,8 +69,9 @@ protected function dispatchBackupTask(): void
68
69
]);
69
70
70
71
$ 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 " ;
73
75
$ backupCommand = "tar czfv $ archivePath -C {$ volume ->path } . " ;
74
76
75
77
// TODO: get rid of copy-pasted code.
@@ -108,7 +110,7 @@ protected function dispatchBackupTask(): void
108
110
'Target ' => $ process ->backupVolume ->path ,
109
111
],
110
112
'SrcFilePath ' => $ archivePath ,
111
- 'DestFilePath ' => $ s3Storage ->pathPrefix .'/ ' .$ backupFileName ,
113
+ 'DestFilePath ' => $ s3Storage ->pathPrefix .'/ ' .$ backupFilePath ,
112
114
],
113
115
],
114
116
]);
0 commit comments