PK œqhYî¶J‚ßFßF)nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/ $#$#$#

Dir : /usr/lib/Acronis/PyTools/commands/
Server: Linux ituca148.hostpapavps.net 4.18.0-553.141.2.el8_10.x86_64 #1 SMP Wed Jul 8 10:28:18 EDT 2026 x86_64
IP: 216.7.89.187
Choose File :

Url:
Dir : //usr/lib/Acronis/PyTools/commands/retention_specs.py

import time

SECONDS_IN_DAY = 86400
ACTIVITY_COMPLETED_STATE = 5


def get_days_before_time(days):
    return int(time.time()) - SECONDS_IN_DAY * days


def completed_activities_by_amount(amount, days):
    return {
        'pattern': [
            ('^Is', 'string', 'Tol::History::Plain::Activity'),
            ('.State', 'dword', ACTIVITY_COMPLETED_STATE),
            ('.Period.FinishTime', 'sqword', 0),
            ('.Period.FinishTime^Less', 'sqword', get_days_before_time(days)),
        ],
        'historical_order': True,
        'objects_count_limit': amount,
    }


def completed_activities_by_age_in_days(days):
    return {
        'pattern': [
            ('^Is', 'string', 'Tol::History::Plain::Activity'),
            ('.State', 'dword', ACTIVITY_COMPLETED_STATE),
            ('.Period.FinishTime', 'sqword', 0),
            ('.Period.FinishTime^Less', 'sqword', get_days_before_time(days)),
        ],
        'historical_order': True,
        'objects_count_limit': 0,
    }


RETENTION_SPECS_CLOUD = [
    completed_activities_by_age_in_days(60),
    completed_activities_by_amount(10000, 7)
]


RETENTION_SPECS_ONPREM = [
    completed_activities_by_age_in_days(60),
    completed_activities_by_amount(10000, 7)
]