#!/usr/bin/env python3
import os
import time
# 1. Файлы и каталоги, которые необходимо скопировать, собираются в список.
source = [ '/home/user/media/Images/Wallpapers' ]
# 2. Резервные копии должны храниться в основном каталоге резерва
target_dir = '/home/user/media/Python'
# 3. Файлы помещаются в zip-архив
# 4. Именем для zip-архива служит текущая дата и время.
today = target_dir + os .sep + time .strftime ( '%Y%m%d' )
now = time .strftime ( '%H%M%S' )
# Создаем каталог, если его еще нет
if not os .path .exists ( today) :
os .mkdir ( today) # создание каталога
print ( 'Каталог {} успешно создан.' .format ( today) )
# Имя zip-файла
target = today + os .sep + now + '.zip'
# Используем команду 'zip' для помещения файла в архив
zip_command = "zip -qr {0} {1}" .format ( target, ' ' .join ( source) )
# Запускаем создание резервной копии
if os .system ( zip_command) == 0 :
print ( 'Резервная копия успешно создана в' , target)
else :
print ( 'Создание резевной копии не удалось.' )
IyEvdXNyL2Jpbi9lbnYgcHl0aG9uMwppbXBvcnQgb3MKaW1wb3J0IHRpbWUKCiMgMS4g0KTQsNC50LvRiyDQuCDQutCw0YLQsNC70L7Qs9C4LCDQutC+0YLQvtGA0YvQtSDQvdC10L7QsdGF0L7QtNC40LzQviDRgdC60L7Qv9C40YDQvtCy0LDRgtGMLCDRgdC+0LHQuNGA0LDRjtGC0YHRjyDQsiDRgdC/0LjRgdC+0LouCnNvdXJjZSA9IFsnL2hvbWUvdXNlci9tZWRpYS9JbWFnZXMvV2FsbHBhcGVycyddCgojIDIuINCg0LXQt9C10YDQstC90YvQtSDQutC+0L/QuNC4INC00L7Qu9C20L3RiyDRhdGA0LDQvdC40YLRjNGB0Y8g0LIg0L7RgdC90L7QstC90L7QvCDQutCw0YLQsNC70L7Qs9C1INGA0LXQt9C10YDQstCwCnRhcmdldF9kaXIgPSAnL2hvbWUvdXNlci9tZWRpYS9QeXRob24nCgojIDMuINCk0LDQudC70Ysg0L/QvtC80LXRidCw0Y7RgtGB0Y8g0LIgemlwLdCw0YDRhdC40LIKIyA0LiDQmNC80LXQvdC10Lwg0LTQu9GPIHppcC3QsNGA0YXQuNCy0LAg0YHQu9GD0LbQuNGCINGC0LXQutGD0YnQsNGPINC00LDRgtCwINC4INCy0YDQtdC80Y8uCnRvZGF5ID0gdGFyZ2V0X2RpciArIG9zLnNlcCArIHRpbWUuc3RyZnRpbWUoJyVZJW0lZCcpCm5vdyA9IHRpbWUuc3RyZnRpbWUoJyVIJU0lUycpCgojINCh0L7Qt9C00LDQtdC8INC60LDRgtCw0LvQvtCzLCDQtdGB0LvQuCDQtdCz0L4g0LXRidC1INC90LXRggppZiBub3Qgb3MucGF0aC5leGlzdHModG9kYXkpOgoJb3MubWtkaXIodG9kYXkpICMg0YHQvtC30LTQsNC90LjQtSDQutCw0YLQsNC70L7Qs9CwCnByaW50KCfQmtCw0YLQsNC70L7QsyB7fSDRg9GB0L/QtdGI0L3QviDRgdC+0LfQtNCw0L0uJy5mb3JtYXQodG9kYXkpKQoKIyDQmNC80Y8gemlwLdGE0LDQudC70LAKdGFyZ2V0ID0gdG9kYXkgKyBvcy5zZXAgKyBub3cgKyAnLnppcCcKCiMg0JjRgdC/0L7Qu9GM0LfRg9C10Lwg0LrQvtC80LDQvdC00YMgJ3ppcCcg0LTQu9GPINC/0L7QvNC10YnQtdC90LjRjyDRhNCw0LnQu9CwINCyINCw0YDRhdC40LIKemlwX2NvbW1hbmQgPSAiemlwIC1xciB7MH0gezF9Ii5mb3JtYXQodGFyZ2V0LCAnICcuam9pbihzb3VyY2UpKQoKCiMg0JfQsNC/0YPRgdC60LDQtdC8INGB0L7Qt9C00LDQvdC40LUg0YDQtdC30LXRgNCy0L3QvtC5INC60L7Qv9C40LgKaWYgb3Muc3lzdGVtKHppcF9jb21tYW5kKSA9PSAwOgoJcHJpbnQoJ9Cg0LXQt9C10YDQstC90LDRjyDQutC+0L/QuNGPINGD0YHQv9C10YjQvdC+INGB0L7Qt9C00LDQvdCwINCyJywgdGFyZ2V0KQplbHNlOgoJcHJpbnQoJ9Ch0L7Qt9C00LDQvdC40LUg0YDQtdC30LXQstC90L7QuSDQutC+0L/QuNC4INC90LUg0YPQtNCw0LvQvtGB0YwuJyk=