如何对 python 中的目录进行 tar 文件备份

how to make a tar file backup of a directory in python

我正在尝试做什么:我正在尝试对 递归 .tar 文件备份此 python 脚本位于 运行 中的目录。

我目前拥有的:

import os
import zipfile
import datetime
import tarfile
datetime = str( datetime.datetime.now() )
def zipdir(path, zip):
    for root, dirs, files in os.walk(path):
        for file in files:
            zip.write(os.path.join(root, file))
backupdir = raw_input('Which directory should we backup to? \n')
if backupdir :
    try:
        zipf = zipfile.ZipFile('DrupalInstanceBackup'+datetime+'.zip', mode='w')
        zipdir('/Users/localuser/Downloads/backup', zipf)
    except Exception as e:
        print e
    finally:
        zipf.close()

目前的工作: 它制作了一个 .zip 备份,但在提取时它不显示任何文件。

我想做什么: 有人可以帮我使这个脚本递归备份目录并以递归方式创建目录及其文件的 .tar 存档吗?

谢谢

好消息是tarfile支持递归添加成员任何工作。

with tarfile.open(archive_name + '.tar.gz', mode='w:gz') as archive:
    archive.add('/Users/localuser/Downloads/backup', recursive=True)

recursive=True是默认值,可以省略。