-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstart_program.py
More file actions
54 lines (46 loc) · 2.13 KB
/
start_program.py
File metadata and controls
54 lines (46 loc) · 2.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# Импорт библиотек
import os
import datetime
import time
import modules as m
# Переменные для заполнения пустоты в классе "ExampleMyOS"
# в случае, если ОС - *nix.
disk_source = ''
disk_replic = ''
disk_log = ''
#=====================================================
# Если ОС - Windows, то будут запрошены имена Томов для директорий
if (os.sys.platform == 'win32'):
my_os = 'Windows'
disk_source = input ('Диск, который будет использоваться для источника: ')
disk_replic = input ('Диск, который будет использоваться для реплики: ')
disk_log = input ('Диск, который будет использоваться для файла логирования: ')
# Заполнение списка пулом путей к директориям
paths = []
for circle in range(1, 4):
directory = m.ExampleMyOS(circle, disk_source, disk_replic, disk_log)
directory.user_source(circle)
paths.append(directory.my_path)
# 0 - Директория-источник, 1 - Директория-реплика, 2 - Директория логов.
source_dir = paths[0]
replic_dir = paths[1]
log_dir = paths[2]
#=====================================================
# Запрос периодичности бэкапов и
# дальнейшее преобразование единиц времени.
backup_delay = input('С какой периодичностью выполнять бэкапы?\nПримеры: 10s/10m/10c\n')
backup_value = backup_delay[-1]
backup_delay = int(backup_delay[:-1])
os.system(directory.cls)
if (backup_value == 'm'):
backup_delay = int(backup_delay) * 60
if (backup_value == 'c'):
backup_delay = int(backup_delay) * 60**2
# Выполнение бэкапов и вывод логов
filework = m.Work(source_dir, replic_dir, log_dir, directory.slash, backup_delay)
filework.print_create()
active = True
while active:
filework.timework()
filework.scan_folders()
time.sleep(backup_delay)