как смолить в Python

Я хочу скопировать свой веб-сайт с помощью сценария Python. Это - сценарий:

#!/usr/bin/python
import os
import time
import datetime
from subprocess import call

DATETIME = time.strftime('%Y%d%m-%H%M%S')
BACKUP_PATH = '/Backups/backups/Test/'
WEB_PATH = '/var/www/html'

TAR_CMD = "-zcf " + BACKUP_PATH + DATETIME + "-html.tar.gz " + WEB_PATH
print TAR_CMD
call (["tar",TAR_CMD])

Вывод TAR_CMD

- zcf/Backups/backups/Test/20152111-123016-html.tar.gz/var/www/html

который корректен - вызов tar плюс этот вывод смолит мой веб-сайт - хорошо.

При запущении скрипта Python вывод:

- zcf/Backups/backups/Test/20152111-123150-html.tar.gz/var/www/html

tar: Трусливо отказываясь создавать пустой архив

Попробуйте 'tar - справку' или 'tar - использование' для получения дополнительной информации.

Что я делаю неправильно?

4
задан 21 November 2015 в 14:42

1 ответ

Необходимо передать компоненты команды как элементы списка, таким образом, можно добавить tar к TAR_CMD переменная и затем использовать split(' ') для создания списка компонентов команды, разделенных на пробелах:

TAR_CMD='tar .....'
subprocess.call(TAR_CMD.split(' '))

Или непосредственно:

subprocess.call('tar ....'.split(' '))
5
ответ дан 1 December 2019 в 09:33

Другие вопросы по тегам:

Похожие вопросы: