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

Публикация № 126363

Администрирование - Администрирование данных 1С - Архивирование (backup)

В целях предварительного знакомства со скриптовым языком 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 для создания архивов

 

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

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

 

 



Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. cool.vlad4 45 26.04.12 15:10 Сейчас в теме
Комментарии по улучшению этого скрипта приветствуются.
скрипт прост как 5 копеек, единственно, что - 1. нужно всегда разделять логику и настройки, выделить настройки в какой-нибудь конфиг (txt, xml и т.д.) , тогда удобно будет менять параметры. 2. заменить платный winrar на бесплатное( 7-zip например) 3. логировать успехи и неудачи
ЗЫ. Это просто пожелания, мне собственно это не нужно.
2. Asis 02.05.12 17:57 Сейчас в теме
По-моему вместо WinRar лучше использовать встроенный модуль zipfile.
Пример:
import zipfile

....
    
    with zipfile.ZipFile(arc_filename, 'a', zipfile.ZIP_DEFLATED) as arc_file:
        arc_file.write(source, filename)

    # arc_filename - имя файла архива.
    # source - путь к исходному файлу.
    # filename - имя файла в архиве.

...

Показать
3. sttt 113 02.05.12 20:09 Сейчас в теме
(2) Asis, боюсь ZipFile будет хуже, потому как наверное ограничение в 4 гига будет а у рара нет
4. Asis 02.05.12 23:15 Сейчас в теме
(3) sttt, вы правы,
действительно есть такое ограничение для zip-файлов до версии спецификации 4.5.
Пожалуй соглашусь, что, несмотря на поддержку модулем zipfile расширения ZIP64 (до 16Гб), следует использовать внешние архиваторы для объемных информационных баз.
5. aximo 1593 03.05.12 05:27 Сейчас в теме
да я как-то не задумывался о выборе архиватора... просто ключи winrar мне давно известны, вот и применил их... а так все работает, нормально, без сбоев. что называется - запустил 1 раз и забыл...
6. quick 575 22.08.13 11:42 Сейчас в теме
есть на тему бэкапа хорошее фриварное решение http://www.cobiansoft.com но оно только под винду.
а скрипт можно под себя еще доделать, так что спасибо автору.
7. Rockman 24.09.13 11:57 Сейчас в теме
На тему бэкапа есть еще одно неплохое решение - VersionSafe
8. Vovan58 48 26.02.18 12:55 Сейчас в теме
конкатенация строк при создании пути - не катит.
os.path.join()
- рулит
Оставьте свое сообщение

См. также

31 марта — Международный день резервного копирования Промо

Архивирование (backup) Бесплатно (free)

А вы сделали бэкап? А проверили, что его можно использовать?

31.03.2016    19222    0    Gilev.Vyacheslav    3    

Выгрузка в dt на сервере 1С по расписанию с завершением соединений и подключением к консоли сервера через com

Архивирование (backup) Администрирование данных 1С v8 Россия Бесплатно (free)

Была задача настроить по расписанию выгрузку серверной базы в dt, готового решения не нашел, делюсь, может, кому пригодится.

16.04.2020    4268    0    karamazoff    46    

Организация резервного копирования файлов с использованием rclone

Архивирование (backup) Россия Бесплатно (free)

Описание использования достаточно универсальной утилиты по синхронизации файлов.

21.01.2020    3230    0    malikov_pro    0    

Тонкая настройка ежедневного резервного копирования базы данных 1С средствами SQL ver. 2014 (SP3) - 12.0.6024.0 (X64)

Архивирование (backup) v8 Россия Бесплатно (free)

Хочу вам предложить небольшой пример, как можно реализовать резервное копирование 1С-ых баз данных средствами SQL. Данный материал не претендует на пулитцеровскую премию. Но возможно кому-то будет интересно узнать, что-то новенькое. Данный материал для резервного копирования только одной базы данных. А именно, если у вас 20-ть баз, то вам придется создавать 20-ть планов обслуживания для каждой базы индивидуально. (Слава разработчикам SQL, они разрешили копировать блоки из одного плана в другой, вам остается только произвести небольшую настройку для каждого скопированного блока - некоторые настройки блоков сбрасываются и выставляются значением по умолчанию и остаются неактивными)

07.10.2019    9642    0    DrZombi    49    

Скрипт удобного восстановления базы MSSQL при дифференциальном резервировании Промо

Архивирование (backup) v7.7 v8 1cv8.cf 1cv7.md Россия Бесплатно (free)

Если у Вас база на MSSQL и Вы пользуетесь разностными бекапами, то, скорее всего, столкнулись с тем, что поднять базу/копию базы из имеющихся резервных файлов не столь удобно, как того хотелось бы. В этой статье приведен скрипт по теме.

20.01.2011    30040    0    Ivon    12    

Быстрое копирование таблиц большого размера и/или с большим числом строк, на примере регистра сведений (для MS SQL)

Архивирование (backup) v8 Бесплатно (free)

Моментальное восстановление затертого регистра сведений из бекапа посредством SQL.

11.08.2019    5691    0    Zlohobbit    25    

Настройка резервного копирования (резервирования) баз данных 1С: Предприятие на MS SQL Server

Архивирование (backup) v8 1cv8.cf Россия Бесплатно (free)

Настройка резервного копирования (резервирования) баз данных на "бюджетной" версии 1С Предприятие под MS SQL Server. Используется пример MS SQL Server 2008 R2 под Windows. Для малых и средних предприятий, исключая производственные и торговые, так как тестирование на них не проводилось.

30.10.2018    11773    0    unclevad    16    

Работа с конфигуратором по протоколу SSH (не в режиме агента)

Архивирование (backup) Администрирование данных 1С v8 Бесплатно (free)

Рабочее решение запуска пакетного скрипта конфигуратора 1С через SSH-клиента.

28.04.2018    10255    0    vsbronnikov    1    

Восстановление SQL базы 1С 8.2. рухнувшей во время сохранения конфигурации. Промо

Тестирование и исправление Архивирование (backup) v8 1cv8.cf Россия Бесплатно (free)

При обновлении конфигурации вылетела 1С. После чего наотрез отказалась входить в базу. При этом в конфигураторе выдавалось сообщение "Внимание!!! При обновлении данных, после последней реструктуризации, произошла критическая ошибка. Повторить обновление?" Потом выходило сообщение "Обнаружена незавершённая операция сохранения конфигурации. Для продолжения необходимо завершить операцию". Горела кнопка Ок - на этом работоспособность конфигуратора и базы заканчивалась.

08.02.2012    127774    0    VanDiesel1    137    

Git с человеческим лицом для тех, кто устал терять данные

Архивирование (backup) Управление проектом Бесплатно (free)

Посвящается всем тем, у кого хоть раз в жизни пропадали файлы с важной информацией. Эта статья о том, как очень легко и быстро пользователю наколдовать "машину времени", которая будет возвращать потерянные файлы с возможностью восстановления любой предыдущей версии. Без программирования и программистов, без командных строк и системных администраторов. Руками любого бухгалтера, менеджера, секретаря или аналитика.

06.01.2018    73547    0    for_sale    62    

BackTracker - бот для контроля своевременности резервного копирования

Архивирование (backup) Бесплатно (free)

Когда речь заходит о резервном копировании, паранойи много не бывает. Допустим, Вы настроили бэкап PostgreSQL в сетевое NAS хранилище. Проверили, скрипт работает, все хорошо, ежедневные бэкапы, глубина хранения и всё такое. Но в какой-то момент что-то пошло не так, и важно не упустить этот момент, как можно быстрее всё исправить. Поможет в этом специально обученный Telegram бот.

20.11.2017    11891    0    kuld    2    

"Из грязи в князи" или из реального HDD в виртуальный

Архивирование (backup) Бесплатно (free)

Данная публикация рассказывает, как можно поэкспериментировать с настройками на рабочем сервере, без проблем для самого сервера.

29.10.2017    12325    0    JohnConnor    10    

К вопросу об архивации баз 1С (и снова, и снова...) Промо

Архивирование (backup) v8 1cv8.cf Россия Бесплатно (free)

Из своего опыта хочу напомнить о самом простом способе архивации баз типовыми средствами 1С и планировщика Windows.

08.01.2010    25595    0    grum01    14    

Потоковая репликация и непрерывное архивирование базы данных PostgreSQL - делюсь небольшим опытом

Архивирование (backup) Россия Бесплатно (free)

Постарался кратко описать опыт настройки потоковой репликации и непрерывного архивирования в PostgreSQL.

27.10.2017    20703    0    KRIHA    9    

Резервное копирование "онлайн" клиент-серверных баз в dt (не отключая пользователей)

Архивирование (backup) v8 Бесплатно (free)

Как реализовать резервное копирование клиент-серверных баз 1с в формат dt, не отключая пользователей. Рассматривается способ, делающий резервирование наименее заметным для пользователей и серверного оборудования.

03.10.2017    23524    0    konstanta_online    80    

Настройка зеркалирования базы для MS SQL

Архивирование (backup) Производительность и оптимизация (HighLoad) v8 1cv8.cf Бесплатно (free)

Очень удобный способ, когда нам нужна не просто резервная копия, а "горячая" замена серверов.

19.05.2017    29679    0    MsDjuice    14    

Бекап средствами MS SQL во внешний источник по датам

Архивирование (backup) Бесплатно (free)

Бекап средствами MS SQL (Transact-SQL) всех баз во внешний источник по папочкам и датам

08.02.2017    10772    0    ILYXA    10    

Рекомендации по организации резервного копирования для систем с Windows Server / Windows SQL Server

Архивирование (backup) v8 Бесплатно (free)

В данной статье мы рассмотрим работу с резервными копиями базы данных 1С, а также некоторые приемы, оптимизирующие работу с резервными копиями.

10.10.2016    18751    0    Zebar    12    

Резервное копирование и восстановление базы 1С средствами PostgreSQL

Архивирование (backup) v8 Бесплатно (free)

Алгоритм резервного копирования баз 1С: 8 средствами PostgreSQL.

01.08.2016    66864    0    dimisa    33    

Сохранение SQL Backup в облачном хранилище

Архивирование (backup) Бесплатно (free)

В этой статье я расскажу, как можно настроить сохранение последних SQL бэкапов выбранных баз в облачном хранилище, используя SQL jobs.

09.03.2016    19878    0    BadMadJohn    4    

Архивирование БД. v7. v8. DBF. SQL

Архивирование (backup) Бесплатно (free)

Простые примеры архивирования БД. Простой вариант для решения резервного копирования DBF и SQL баз данных. Для автоматического резервного копирования достаточно добавить задание «планировщик заданий», которое будет выполняться раз в сутки, и установить WinRar.

22.12.2015    15194    0    LavinVadik    6    

Резервная копия файловой базы данных на ftp сервер через cmd

Архивирование (backup) Бесплатно (free)

Если тебе нужно не только локальное, а и удаленное резервное копирование файловой базы данных 1С, используя стандартные средства платформы виндовс, тогда читай ниже.

1 стартмани

20.09.2015    22008    0    jaroslav.h    15    

Как я восстанавливал разрушенную базу

Архивирование (backup) Распределенная БД (УРИБ, УРБД) Тестирование и исправление v8 1cv8.cf Бесплатно (free)

УТ10.3 на Платформе 8.2 на базе MSSQL была разрушена после попытки её восстановить после неудачного динамического обновления. Таблица Config целевой базы была заменена на содержимое таблицы Config от другой рабочей базы. Но на самом деле конфигурации у них существенно отличались, поэтому после таких действий целевая база рухнула окончательно. Что же делать?

21.08.2015    29251    0    METAL    25    

Просто и сердито. Архивирование (backup) типовых конфигураций 1С 8.2, 8.3

Архивирование (backup) v8 1cv8.cf Бесплатно (free)

После эксплуатации различных "бесплатных" обработок и скриптов решил написать свой cmd-файл для ежедневного архивирования баз 1С. Работает на конфигурациях, где есть процедуры "ЗавершитьРаботуПользователей" и "РазрешитьРаботуПользователей" (т.е. во всех типовых, в нетиповые данные модули можно скопировать из типовых). Сохраняет файлы как локально так и на удаленном файловом сервере. Автоматически удаляет старые архивы и копирует на удалённый сервер отсутствующие. Расписание задается установкой соответствующего задания (запуска cmd-файла по времени) в планировщике задач Windows. Для борьбы с зависшими сеансами, рекомендуется настроить в режиме конфигуратора параметры информационной базы: "Время засыпания пассивного сеанса" и "Время завершения спящего сеанса".

18.06.2015    17761    0    Prelude    14    

Функциональные возможности инструментов для резервного копирования данных 1С

Архивирование (backup) Бесплатно (free)

В данной статье рассматриваются функциональное и технологическое обеспечение резервного копирования данных 1С, предоставляемого различными специализированными и универсальными утилитами. Для сравнения отобраны программы: Effector Saver, Handy Backup, «1Скрипт-Менеджер для MS SQL» а также бесплатная «Бэкапер-1С».

27.03.2015    17751    0    ej_tuman    8    

Простейший архиватор

Архивирование (backup) Бесплатно (free)

Простейший скрипт для архивирования баз данных

04.08.2014    9727    0    SoftLeon    2    

Что такое резервное копирование информационных баз и зачем это нужно?

Архивирование (backup) Россия Бесплатно (free)

Достаточно часто к нам поступают обращения от пользователей файловых баз с просьбами помочь восстановить базу данных, которая не открывается вообще или «вылетает»; в которой не формируются или не редактируются отчеты; не удаляются некоторые документы. что делать в такой ситуации и как избежать ее неприятных последствий расскажем в этой статье.

17.09.2013    22150    0    portal-ug    18    

Как выгрузить базу средствами 1С, не выгоняя пользователей. Делаем невозможное.

Архивирование (backup) Администрирование данных 1С v8 1cv8.cf Бесплатно (free)

В 1С:Предприятии 8.2 есть ограничение на выгрузку базы в формате DT. Выгрузить базу можно, только если в ней нет активных пользователей. В этой статье поделюсь способом, как обойти это ограничение и сделать невозможное.

16.09.2013    48124    0    yurega    54    

SQL. Настройка резервного копирования.

Архивирование (backup) Бесплатно (free)

Настройка резервного копирования БД 1С на MS SQL Server. На примере MS SQL Server 2012

06.09.2013    174328    0    1cprogr_nsk    42    

Восстановление SQL базы 1С 8.2. после неудачного сохранения конфигурации

Архивирование (backup) Администрирование данных 1С v8 Россия Бесплатно (free)

При динамическом обновлении, в процессе сохранения конфигурации, вылетела база 1С и отказалась заходить в режим Конфигуратора, выдавая сообщение "Внимание!!! При обновлении данных, после последней реструктуризации, произошла ошибка. Повторить обновление?", если ответить утвердительно, то появлялось сообщение "Обнаружена незавершенная операция сохранения конфигурации. Для продолжения работы необходимо завершить операцию.", после чего Конфигуратор закрывался.

18.07.2013    36231    0    lord_soth    45    

Резервное копирование 1С средствами VisualBatch

Архивирование (backup) Бесплатно (free)

Автоматизация резервирования файловых баз 1С7 и 1С8 с возможностью настройки обратной связи, авто-нумерации резервных копий и записи на оптический диск.

08.06.2013    10356    0    dzuyba    3    

Скрипт - выгонялка пользователей + резервная копия базы.

Архивирование (backup) v8 1cv8.cf Бесплатно (free)

В Клиент-серверном режиме работы базы часто возникает необходимость выгонять пользователей чтобы сделать обновление, резервные копии и т.п. Для ленивых, которым неудобно всех выгонять "руками" или ждать окончания рабочего дня, предлагается простой скрипт, который всё сделает за вас.

26.02.2013    24638    0    tystik    11    

Резервное копирование 1С средствами MS SQL.

Архивирование (backup) v8 1cv8.cf Бесплатно (free)

В этой статье описано самое обычное резервное копирование ИБ 1С при помощи инструментов MS SQL Server 2008 R2, объяснено почему следует делать именно так, а не иначе, и развеяно несколько мифов.

17.02.2013    248695    0    speshuric    81    

sql server, как восстановить базу из бекапа или из другой базы

Администрирование данных 1С Архивирование (backup) Бесплатно (free)

sql server, как восстановить базу из бекапа или из другой. обычный мануал в двух картинках.

25.01.2013    13089    0    sadam_max    14    

Хранение удаленных документов в отдельной базе. Часть 1.

Администрирование данных 1С Архивирование (backup) v8 1cv8.cf Бесплатно (free)

Резервное хранение данных. Пример работы с внешними источниками данных. Работа с файлами. Подписка на событие. Работа с XML файлами. Сериализатор XDTO.

12.12.2012    16004    0    egorovntn    10    

Восстановление файловой версии базы данных *.1CD после ошибки динамического обновления.

Сервисные утилиты Архивирование (backup) Администрирование данных 1С Тестирование и исправление v8 1cv8.cf Бесплатно (free)

Восстановление работоспособности файл-серверной базы данных (файл *.1CD) после критической ошибки, возникшей в результате динамического обновления с последующим предупреждением "Внимание!!! При обновлении данных, после последней реструктуризации, произошла ошибка. Повторить обновление?".

02.10.2012    50525    0    djserega    77    

Автоматическая архивация данных 1C c помощью WinRAR

Архивирование (backup) Администрирование данных 1С Бесплатно (free)

Иногда случаются казусы типа: БД «рухнула», кто-то что-то совершенно «случайно» грохнул, или вообще HDD скончался…. Первая мысль: сейчас бы архивчик…. А его частенько нет, ибо любим мы на русский «авось» полагаться. Предлагаю универсальный и безотказный способ автоматической архивации, не требующий ничего потустороннего, только известный всем архиватор WinRAR. Потратите 5-10 минут на настройку, и Вы спокойны.

04.09.2012    39713    0    vladimir_makarov    58    

Автоматическое регулярное разворачивание оперативных бэкапов (совсем просто) в MS SQL 2008

Архивирование (backup) v7.7 v8 1cv8.cf 1cv7.md Россия Бесплатно (free)

В работе регулярно возникает необходимость протестировать поведение программы на копии рабочей базы с актуальными данными

10.08.2012    18088    0    sergiobargio1    6    

Регулярные оперативные копии рабочих баз 1С с помощью MS SQL 2008

Администрирование данных 1С Архивирование (backup) v8 1cv8.cf Россия Бесплатно (free)

В течение дня необходимо производить отладку "допилов" на свежих копия рабочих баз. Также необходимы актуальные копии и для экспериментов, в том числе и пользователям. На этом замечательном ресурсе есть много полезных публикаций с различными вариантами, как это сделать. В одном из них предлагается использовать инструмент мгновенных снимков баз, которые возможно выполнить только в версии Express Edition. В этом посте очень простой вариант, не требующий дорогостоящей версии MS SQL

01.08.2012    18994    0    sergiobargio1    8    

Пошаговая инструкция по процедуре восстановления базы SQL. SQL Server 2008

Архивирование (backup) Администрирование данных 1С v8 1cv8.cf Россия Бесплатно (free)

Пошаговая инструкция по по процедуре восстановления бэкапа SQL 2008.

23.07.2012    122527    0    Vint88    19    

Автоматизация создания резервных копий в MS SQL Express Server

Архивирование (backup) v8 1cv8.cf Россия Бесплатно (free)

В версии Microsoft SQL Server 2005/2008/2008R2 Express Edition серверах нет стандартных средств создания резервных копий баз данных по расписанию. Восполнить этот пробел поможет простое решение

18.06.2012    29841    0    LexSeIch    4    

Запуск сервиса dropbox как службы на терминальном сервере

Архивирование (backup) Россия Бесплатно (free)

Настройка сервиса dropbox как службы на терминальном сервере

25.03.2012    32336    0    Castaman    13