2011-08-16 6 views
0

私はviews.pyファイルに2行あります。私が行うことができるようにしたい2つのファイルをタイムスタンプしたい

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.sqlbackup.gzのそれぞれです。つまり、これらのファイルの名前で日付を確認したいということです。たとえば、ファイル名はbackup-16-Aug-2011.gzです。

答えて

2
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) 
+0

これは正しいです。ありがとう。 – Shehzad009

関連する問題