mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2025-11-10 23:36:11 +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.config = json.dumps(backupConfig)
|
||||||
Backupobj.save()
|
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:
|
except BaseException as msg:
|
||||||
print("Version ID Error: %s"%str(msg))
|
print("Version ID Error: %s"%str(msg))
|
||||||
except BaseException as msg:
|
except BaseException as msg:
|
||||||
|
|||||||
Reference in New Issue
Block a user