Приклади варіантів простих бакапов в 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, що дає можливість використовувати вбудовані команди самої системи.