mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2025-11-10 15:26:13 +01:00
Merge pull request #1021 from xclusionmedia/s3-retention-fix
Retention for WP backups to S3
This commit is contained in:
@@ -1353,6 +1353,26 @@ Automatic backup failed for %s on %s.
|
||||
Backupobj.config = json.dumps(backupConfig)
|
||||
Backupobj.save()
|
||||
|
||||
#S3 retention
|
||||
#Needs a conversion table, because strings are stored instead of ints
|
||||
retention_conversion = {
|
||||
"3 Days" : 259200,
|
||||
"1 Week" : 604800,
|
||||
"3 Weeks" : 1814400,
|
||||
"1 Month" : 2629743
|
||||
}
|
||||
retentionSeconds = retention_conversion[Scheduleobj.fileretention]
|
||||
|
||||
bucket_obj = s3.Bucket(BucketName)
|
||||
ts = time.time()
|
||||
for file in bucket_obj.objects.all():
|
||||
result = float(ts - file.last_modified.timestamp())
|
||||
if result > retentionSeconds:
|
||||
BackupLogs(owner=plan, level='INFO', timeStamp=time.strftime("%b %d %Y, %H:%M:%S"),
|
||||
msg='File %s expired and deleted according to your retention settings.' % (
|
||||
file.key)).save()
|
||||
file.delete()
|
||||
|
||||
except BaseException as msg:
|
||||
print("Version ID Error: %s"%str(msg))
|
||||
except BaseException as msg:
|
||||
|
||||
Reference in New Issue
Block a user