Я хочу скопировать свой веб-сайт с помощью сценария 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 - использование' для получения дополнительной информации.
Что я делаю неправильно?
Необходимо передать компоненты команды как элементы списка, таким образом, можно добавить tar
к TAR_CMD
переменная и затем использовать split(' ')
для создания списка компонентов команды, разделенных на пробелах:
TAR_CMD='tar .....'
subprocess.call(TAR_CMD.split(' '))
Или непосредственно:
subprocess.call('tar ....'.split(' '))