Каталог решений - Резервное копирование-архивирование каталогов с помощью Python 3

Резервное копирование-архивирование каталогов с помощью Python 3

Резервное копирование-архивирование каталогов с помощью Python 3

В наличии

В целях предварительного знакомства со скриптовым языком python я написал небольшой скрипт копирования-архивирования каталогов из заданного списка.

Категория:

Описание

В целях предварительного знакомства со скриптовым языком python я написал небольшой скрипт копирования-архивирования каталогов из заданного списка. Представляю вам этот скрипт:

 

 

 

import glob
import os
import datetime
import shutil
#Настройки:
#Путь к основному каталогу откуда надо копировать
pathtodata=»w:/Base_1c»
#Название каталогов, которые надо копировать с их содержимым:
organiz = [«Folder_01»,
           «Folder_02»,
           «Folder_03»,
           «Folder_04»,
           «Folder_05»,
           «Folder_06»
           ]
# делаем каталог для копий по текущему времени
# по умолчанию должен быть создан каталог e:/_backups/
dt = datetime.datetime.now()
currentdate = dt.strftime(‘%Y_%m_%d-%H%M’)
os.mkdir(‘e:/_backups/’+currentdate)

for org in organiz:
    print(org+» копирование…»)
    # скопируем все каталоги в созданный
    # копирование дерева  — откуда — куда
    shutil.copytree(»+pathtodata+’/’+org+», ‘e:/_backups/’+currentdate+’/’+org+’/’)

# заархивируем все что скопировано
names = glob.glob(‘e:/_backups/’+currentdate+’/*’)
for name in names:
    if os.path.isdir(name):
        # заархивировать все name используем winrar 4.01
        print (name+» архивирование каталога…»)
        # ключ -df удаляет скопированные каталоги после архивирования
        os.system(r’c:/»Program Files»/»winrar»/rar.exe a -r -ep1 -df ‘+name+’ ‘+name+’ ‘)

# все сделал
print(«все сделано»)

 

КАК РАБОТАТЬ СО СКРИПТОМ:

1. Для начала нужно скачать и установить python 3.2. можно скачать здесь http://python.org/download/

2. Скопируйте скрипт из статьи и сохраните его в текстовый файл с расширением *.py (например, backup.py)

3. Создайте на диске e: каталог _backups и поместите туда этот файл backup.py

4. Настройте список копируемых каталогов в скрипте и сохраните его:

4.1. В моем примере скрипта мои копируемые каталоги лежат в общем каталоге на диске w:\Base_1c

4.2. В скрипте отредактируете список organiz. В этом списке через запятую укажите те каталоги, которые лежат в общем каталоге и которые нужно скопировать. У меня это Folder_01, Folder_02… Folder_06.

5. Скрипт готов к работе — можно его запустить, если все сделано правильно, то:

Результат работы скрипта: в существуещем каталоге e:/_backups/ появляется каталог с текущей датой и временем — например: 2012_04_25-2000, в котором размещены архивы каталогов Folder_01.rar, Folder_02.rar, Folder_03.rar … Folder_06.rar

 

В системе должен быть установлен winRar для создания архивов

 

Так же это скрипт можно поставить как назначенное задание.

Комментарии по улучшению этого скрипта приветствуются. Кому поможет — буду рад.

 

 



has been added to your cart:
Оформление заказа