Я использую следующий фрагмент кода, чтобы заархивировать файл из определенного каталога, однако, когда я распаковываю файл в targetPath, он создает другой путь к папке со следующей структурой:
/ u01 / backup / u01 / data / abc / xyz / logs.
Какие изменения могут быть внесены в скрипт для создания пути к папке:
/ u01 / backup / logs
, когда я его распаковываю.
#!/usr/bin/env python
import os
import sys
import zipfile
import datetime
def zipdir(path, ziph):
# ziph is zipfile handle
for root, dirs, files in os.walk(path):
for file in files:
ziph.write(os.path.join(root, file))
Time = datetime.datetime.now().strftime('%d-%b-%Y')
sourcePath = '/u01/data/abc/xyz/logs'
targetPath = '/u01/backup/'
fname = targetPath + 'backup-'+ str(Time)+'.zip'
if __name__ == '__main__':
zipf = zipfile.ZipFile(fname, 'w', zipfile.ZIP_DEFLATED)
zipdir(sourcePath, zipf)
zipf.close()
sys.exit()