2011-05-18 14:36:31 -04:00
|
|
|
import os
|
|
|
|
import sys
|
2011-05-18 14:59:05 -04:00
|
|
|
import shutil
|
2011-05-18 14:36:31 -04:00
|
|
|
|
|
|
|
CURRENT_DIR = os.path.dirname(__file__)
|
|
|
|
NEWSBLUR_DIR = ''.join([CURRENT_DIR, '/../../'])
|
|
|
|
sys.path.insert(0, NEWSBLUR_DIR)
|
|
|
|
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
|
|
|
|
|
|
|
|
import time
|
|
|
|
import s3
|
|
|
|
from django.conf import settings
|
|
|
|
|
|
|
|
COLLECTIONS = "classifier_tag classifier_author classifier_feed classifier_title userstories starred_stories"
|
|
|
|
|
|
|
|
date = time.strftime('%Y-%m-%d-%H-%M')
|
2011-05-18 14:59:05 -04:00
|
|
|
collections = COLLECTIONS.split(' ')
|
2011-08-30 09:33:03 -07:00
|
|
|
db_name = settings.MONGO_DB.get('name')
|
2011-05-18 14:36:31 -04:00
|
|
|
dir_name = 'backup_mongo_%s' % date
|
|
|
|
filename = '%s.tgz' % dir_name
|
|
|
|
|
2011-05-18 14:59:05 -04:00
|
|
|
os.mkdir(dir_name)
|
|
|
|
|
2011-05-18 14:36:31 -04:00
|
|
|
for collection in collections:
|
|
|
|
cmd = 'mongodump --db %s --collection %s -o %s' % (db_name, collection, dir_name)
|
2011-05-18 14:59:05 -04:00
|
|
|
print "Dumping %s: %s" % (collection, cmd)
|
2011-05-18 14:36:31 -04:00
|
|
|
os.system(cmd)
|
2011-08-30 09:33:03 -07:00
|
|
|
|
2011-05-18 14:36:31 -04:00
|
|
|
cmd = 'tar -jcf %s %s' % (filename, dir_name)
|
|
|
|
os.system(cmd)
|
|
|
|
|
|
|
|
print 'Uploading %s to S3...' % filename
|
|
|
|
s3.save_file_in_s3(filename)
|
2011-05-18 14:59:05 -04:00
|
|
|
shutil.rmtree(dir_name)
|
|
|
|
os.remove(filename)
|