mirror of
https://github.com/eduardogsilva/routerfleet.git
synced 2025-07-08 09:14:23 +02:00
Backup models implementation
This commit is contained in:
parent
a8952676d7
commit
15fdbe00fa
12 changed files with 183 additions and 1 deletions
49
backup/models.py
Normal file
49
backup/models.py
Normal file
|
@ -0,0 +1,49 @@
|
|||
from django.db import models
|
||||
import uuid
|
||||
|
||||
|
||||
HOUR_CHOICES = (
|
||||
(0, '00:00'), (1, '01:00'), (2, '02:00'), (3, '03:00'), (4, '04:00'), (5, '05:00'), (6, '06:00'), (7, '07:00'),
|
||||
(8, '08:00'), (9, '09:00'), (10, '10:00'), (11, '11:00'), (12, '12:00'), (13, '13:00'), (14, '14:00'),
|
||||
(15, '15:00'), (16, '16:00'), (17, '17:00'), (18, '18:00'), (19, '19:00'), (20, '20:00'), (21, '21:00'),
|
||||
(22, '22:00'), (23, '23:00')
|
||||
)
|
||||
|
||||
|
||||
class BackupProfile(models.Model):
|
||||
name = models.CharField(max_length=100, unique=True)
|
||||
daily_backup = models.BooleanField(default=True)
|
||||
weekly_backup = models.BooleanField(default=False)
|
||||
monthly_backup = models.BooleanField(default=False)
|
||||
|
||||
daily_retenion = models.IntegerField(default=7)
|
||||
weekly_retention = models.IntegerField(default=30)
|
||||
monthly_retenion = models.IntegerField(default=365)
|
||||
retain_backups_on_error = models.BooleanField(default=True)
|
||||
|
||||
daily_day_monday = models.BooleanField(default=True)
|
||||
daily_day_tuesday = models.BooleanField(default=True)
|
||||
daily_day_wednesday = models.BooleanField(default=True)
|
||||
daily_day_thursday = models.BooleanField(default=True)
|
||||
daily_day_friday = models.BooleanField(default=True)
|
||||
daily_day_saturday = models.BooleanField(default=True)
|
||||
daily_day_sunday = models.BooleanField(default=True)
|
||||
|
||||
weekly_day = models.CharField(max_length=10, choices=(('monday', 'Monday'), ('tuesday', 'Tuesday'), ('wednesday', 'Wednesday'), ('thursday', 'Thursday'), ('friday', 'Friday'), ('saturday', 'Saturday'), ('sunday', 'Sunday')))
|
||||
monthly_day = models.IntegerField(default=1, choices=((1, '1st'), (7, '7th'), (14, '14th'), (21, '21st'), (28, '28th')))
|
||||
|
||||
daily_hour = models.IntegerField(default=3, choices=HOUR_CHOICES)
|
||||
weekly_hour = models.IntegerField(default=1, choices=HOUR_CHOICES)
|
||||
monthly_hour = models.IntegerField(default=0, choices=HOUR_CHOICES)
|
||||
|
||||
max_retry = models.IntegerField(default=3, choices=((1, '1'), (2, '2'), (3, '3'), (4, '4'), (5, '5')))
|
||||
retry_interval = models.IntegerField(default=30, choices=(('1', '1 Minute'), ('15', '15 Minutes'), ('30', '30 Minutes'), ('60', '1 Hour')))
|
||||
backup_interval = models.IntegerField(default=60, choices=((0, 'No interval'), (5, '5 seconds'), (60, '1 minute')))
|
||||
|
||||
updated = models.DateTimeField(auto_now=True)
|
||||
created = models.DateTimeField(auto_now_add=True)
|
||||
uuid = models.UUIDField(unique=True, editable=False, default=uuid.uuid4)
|
||||
|
||||
def __str__(self):
|
||||
return self.name
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue