Бекап за допомогою python

Приклади варіантів простих бакапов в Python

Бекап даних можна виконувати і в Python використовуючи як власні кошти мови програмування так і зовнішні програми.

1) Варіант: Бекап Python + WinRaR

import os
import time

# Файли і каталоги, які необхідно скопіювати, збираються в список.
source = [ ' "D: \\ bases-1c \\ База1с \\ 1Cv8.1CD"', 'C: \\ Code']
print ( 'Я повинен зробити', len (source), 'бекапіть (ів)')

dstdir = 'E: \\ backup'
print (dstdir, '- папка для бекапа')

dst = dstdir + os.sep + time.strftime ( 'Year-% Y.% m .._') + time.strftime ( 'hour-% H.% M.% S') + '.rar'
print ( 'Там буде створено файл-', dst)

"" "Os.sep - роздільник шляху для конкретної операційної системи,
'/' В GNU / Linux '\\' в Windows і ':' в Mac OS.
Використання os.sep робить програму яку переносять для ОС "" "

1 \ WinRAR \ WinRAR.exe u -as -dh ".format (dst, '' .join (source))
'' 'Format - підставляє аргументи = dst, = source
Метод join перетворює список в рядок '' '

if os.system (rar) == 0:
print ( 'Резервна копія успішно створена в', dst)
else:
print ( 'Створення резервної копії НЕ ВДАЛОСЯ')

#! / Usr / bin / env python
# - * - coding: utf-8 - * -
import os
import tarfile
import time
import sys

2) Варіант: Бекап Python + Tarfile

date = time.strftime ( 'Date-% Y.% m .._')
time = time.strftime ( 'Hour-% H.% M.% S_')

# Переходимо в каталог
os.chdir ( 'C: \\ My Documents')
# Отримуємо поточну Деректор
directory = os.getcwd ()
# Отримуємо список
contents = os.listdir ()

tar = tarfile.open ( 'E: \\ backup \\' + date + '.tar.gz', "w: gz")

# 1) Додаємо в архів всю папку C: \\ My Documents
for i in contents:
tar.add (i)

tar.add ( 'C: \\ one \\')
# 2) Додаємо ще в архів
tar.add (bases1c, arcname = time + 'Bases.1CD')

names = tar.getnames ()
print (names, '- "Тут ми отримуємо вміст архіву"')
print (names [0], '- "А Тут його перший елемент"')

members = tar.getmembers ()
print (members [0] .name, '- "Те ж саме але за допомогою getmembers"')
print (members [0] .isdir (), '- "І перевірити на істинність"')
tar.close ()

# В результаті отримуємо весь список з C: \\ My Documents, а так само по файлу зазначених в
# C: \\ one \\ o1.doc і D: \\ bases-1c \\ База1С \\ 1Cv8.1CD
# Arcname застосований для визначення імені в архіві

3) Варіант: системні команди Python

Так само не забуваємо, що команди системи Windows, Linux можуть бути виконані в Python, що дає можливість використовувати вбудовані команди самої системи.

Схожі статті