#!/usr/bin/env python3
import sys
import os
import time
import tarfile

# Файлы и каталоги, которые необходимо скопировать, собираются в список.
source = []
source.extend(sys.argv[1:])

# Резервные копии должны храниться в основном каталоге резерва
target_dir = '/home/user/media/Python'

# Именем для архива служит текущая дата и время.
today = target_dir + os.sep + time.strftime('%Y%m%d')
# Текущее время служит именем архива
now = time.strftime('%H%M%S')

# Определение функции для создания архива с помощью tar
def make_tarfile(output_filename, source_dir):
    with tarfile.open(output_filename, "w:gz") as tar:
    	for i in source_dir:
       		tar.add(i, arcname=os.path.basename(i))

# Выполнение функции
if not source:
	print('Список директорий пуст.')
else:
	# Запрос комментария пользователя для имени файла
	comment = input('Введите комментарий: ')
	if len(comment) == 0:
		target = today + os.sep + now + '.tar.gz'
	else:
		target = today + os.sep + now + '_' + \
		comment.replace(' ', '_') + '.tar.gz'
	# Создаем каталог, если его еще нет
	if not os.path.exists(today):
		os.mkdir(today) # создание каталога
		print('Каталог {} успешно создан.'.format(today))
	try:
		make_tarfile(target, source)
		print('Резервная копия успешно создана в', target)
	except FileNotFoundError:
		print('Создание резевной копии не удалось: File Not Found')