Хотите отметить два файла - PullRequest
0 голосов
/ 16 августа 2011

В моем файле views.py есть две строки.

views.py

os.popen3("mysqldump -u *username* -p*password* *database* > /usr/local/src/djcode/c2duo_mms/backup.sql")
os.popen3("gzip -c /usr/local/src/djcode/c2duo_mms/backup.sql > /usr/local/src/djcode/c2duo_mms/backup.gz"

Я хочу иметь возможность сделать это в каждом из этих файлов backup.sql и backup.gz Я хочу, чтобы они были помечены временем. Так что это означает, что я хочу видеть дату в названии этих файлов. Например, имя файла backup-16-Aug-2011.gz.

1 Ответ

2 голосов
/ 16 августа 2011
from subprocess import Popen, PIPE
from datetime import datetime

# yes, this is me being lazy and not wanting to write a format string.
date = datetime.today().isoformat().split('T')[0]

mysql = "mysqldump -u *username* -p*password* *database* > /usr/local/src/djcode/c2duo_mms/backup-{}.sql".format(date)
gzip = "gzip -c /usr/local/src/djcode/c2duo_mms/backup.sql > /usr/local/src/djcode/c2duo_mms/backup-{}.gz".format(date)

Popen(mysql, stdin=PIPE, stderr=PIPE, stdout=PIPE, shell = True)
Popen(gzip, stdin=PIPE, stderr=PIPE, stdout=PIPE, shell = True)

или, для старых версий Python,

from datetime import datetime
import os

date = datetime.today().isoformat().split('T')[0]

mysql = "mysqldump -u *username* -p*password* *database* > /usr/local/src/djcode/c2duo_mms/backup-%s.sql" % date
gzip = "gzip -c /usr/local/src/djcode/c2duo_mms/backup.sql > /usr/local/src/djcode/c2duo_mms/backup-%s.gz" % date

os.popen3(mysql)
os.popen3(gzip)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...