#!/usr/bin/env python3
import sys
import os
import time
import tarfile
# 1. Файлы и каталоги, которые необходимо скопировать, собираются в список.
source = []
source.extend(sys.argv[1:])
# 2. Резервные копии должны храниться в основном каталоге резерва
target_dir = '/home/user/media/Python'
# 3. Файлы помещаются в zip-архив
# 4. Именем для zip-архива служит текущая дата и время.
today = target_dir + os.sep + time.strftime('%Y%m%d')
# Текущее время служит именем zip-архива
now = time.strftime('%H%M%S')
# Запрос комментария пользователя для имени файла
comment = input('Введите комментарий: ')
if len(comment) == 0:
target = today + os.sep + now
else:
target = today + os.sep + now + '_' + \
comment.replace(' ', '_')
# Создаем каталог, если его еще нет
if not os.path.exists(today):
os.mkdir(today) # создание каталога
print('Каталог {} успешно создан.'.format(today))
def make_tarfile(output_filename, source_dir):
with tarfile.open(output_filename, "w:gz") as tar:
for i in source_dir:
tar.add(source_dir[i], arcname=os.path.basename(source_dir[i]))
make_tarfile(target, source)
IyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwppbXBvcnQgc3lzCmltcG9ydCBvcwppbXBvcnQgdGltZQppbXBvcnQgdGFyZmlsZQoKIyAxLiDQpNCw0LnQu9GLINC4INC60LDRgtCw0LvQvtCz0LgsINC60L7RgtC+0YDRi9C1INC90LXQvtCx0YXQvtC00LjQvNC+INGB0LrQvtC/0LjRgNC+0LLQsNGC0YwsINGB0L7QsdC40YDQsNGO0YLRgdGPINCyINGB0L/QuNGB0L7Qui4Kc291cmNlID0gW10Kc291cmNlLmV4dGVuZChzeXMuYXJndlsxOl0pCgojIDIuINCg0LXQt9C10YDQstC90YvQtSDQutC+0L/QuNC4INC00L7Qu9C20L3RiyDRhdGA0LDQvdC40YLRjNGB0Y8g0LIg0L7RgdC90L7QstC90L7QvCDQutCw0YLQsNC70L7Qs9C1INGA0LXQt9C10YDQstCwCnRhcmdldF9kaXIgPSAnL2hvbWUvdXNlci9tZWRpYS9QeXRob24nCgojIDMuINCk0LDQudC70Ysg0L/QvtC80LXRidCw0Y7RgtGB0Y8g0LIgemlwLdCw0YDRhdC40LIKIyA0LiDQmNC80LXQvdC10Lwg0LTQu9GPIHppcC3QsNGA0YXQuNCy0LAg0YHQu9GD0LbQuNGCINGC0LXQutGD0YnQsNGPINC00LDRgtCwINC4INCy0YDQtdC80Y8uCnRvZGF5ID0gdGFyZ2V0X2RpciArIG9zLnNlcCArIHRpbWUuc3RyZnRpbWUoJyVZJW0lZCcpCiMg0KLQtdC60YPRidC10LUg0LLRgNC10LzRjyDRgdC70YPQttC40YIg0LjQvNC10L3QtdC8IHppcC3QsNGA0YXQuNCy0LAKbm93ID0gdGltZS5zdHJmdGltZSgnJUglTSVTJykKCiMg0JfQsNC/0YDQvtGBINC60L7QvNC80LXQvdGC0LDRgNC40Y8g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC00LvRjyDQuNC80LXQvdC4INGE0LDQudC70LAKY29tbWVudCA9IGlucHV0KCfQktCy0LXQtNC40YLQtSDQutC+0LzQvNC10L3RgtCw0YDQuNC5OiAnKQppZiBsZW4oY29tbWVudCkgPT0gMDoKCXRhcmdldCA9IHRvZGF5ICsgb3Muc2VwICsgbm93CmVsc2U6Cgl0YXJnZXQgPSB0b2RheSArIG9zLnNlcCArIG5vdyArICdfJyArIFwKCWNvbW1lbnQucmVwbGFjZSgnICcsICdfJykKCiMg0KHQvtC30LTQsNC10Lwg0LrQsNGC0LDQu9C+0LMsINC10YHQu9C4INC10LPQviDQtdGJ0LUg0L3QtdGCCmlmIG5vdCBvcy5wYXRoLmV4aXN0cyh0b2RheSk6Cglvcy5ta2Rpcih0b2RheSkgIyDRgdC+0LfQtNCw0L3QuNC1INC60LDRgtCw0LvQvtCz0LAKCXByaW50KCfQmtCw0YLQsNC70L7QsyB7fSDRg9GB0L/QtdGI0L3QviDRgdC+0LfQtNCw0L0uJy5mb3JtYXQodG9kYXkpKQoKZGVmIG1ha2VfdGFyZmlsZShvdXRwdXRfZmlsZW5hbWUsIHNvdXJjZV9kaXIpOgogICAgd2l0aCB0YXJmaWxlLm9wZW4ob3V0cHV0X2ZpbGVuYW1lLCAidzpneiIpIGFzIHRhcjoKICAgIAlmb3IgaSBpbiBzb3VyY2VfZGlyOgogICAgICAgIAl0YXIuYWRkKHNvdXJjZV9kaXJbaV0sIGFyY25hbWU9b3MucGF0aC5iYXNlbmFtZShzb3VyY2VfZGlyW2ldKSkKCm1ha2VfdGFyZmlsZSh0YXJnZXQsIHNvdXJjZSk=