pythonスクリプトを使用してWebサイトをバックアップしたい。これはスクリプトです:
#!/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を呼び出すと、この出力は私のWebサイトをtarします-わかりました。
pythonスクリプトを実行すると、出力は次のようになります。
-zcf /Backups/backups/Test/20152111-123150-html.tar.gz/var/www/html
tar:空のアーカイブの作成をto病に拒否
詳細については、「tar --help」または「tar --usage」を試してください。
何が間違っていますか?
コマンドコンポーネントをリストの要素として渡す必要があるため、tar
をTAR_CMD
変数に追加し、split(' ')
を使用して、スペースで区切られたコマンドコンポーネントのリストを作成できます。
TAR_CMD='tar .....'
subprocess.call(TAR_CMD.split(' '))
または直接:
subprocess.call('tar ....'.split(' '))