def backup_db(name='', username='', password='', db_username='', db_password='', use_password_file=True): """Back up database and move file to ftp store""" if not name: name = "lagrummet_backup_%s_%s" % (env.target, env.timestamp) filename = "lagrummet.sql" tmp_path = "/tmp/%s" % name create_path(tmp_path) if use_password_file: username = get_value_from_password_store(PASSWORD_FILE_FTP_USERNAME_PARAM_NAME, default_value=username) password = get_value_from_password_store(PASSWORD_FILE_FTP_PASSWORD_PARAM_NAME, default_value=password) if use_password_file: db_username = get_value_from_password_store(PASSWORD_FILE_DB_USERNAME_PARAM_NAME, default_value=db_username) db_password = get_value_from_password_store(PASSWORD_FILE_DB_PASSWORD_PARAM_NAME, default_value=db_password) with hide('output','running'): run("mysqldump -a -u %s --password=%s lagrummet > %s/%s" % (db_username, db_password, tmp_path, filename)) pack_and_ftp_push(name, filename, username, password, tmp_path)
def restore_db(name, username='', password='', db_username='', db_password='', use_password_file=True): """Restore database backup from ftp store""" if not name: print "Missing parameter 'name'!" return tmp_path = "/tmp/%s" % name create_path(tmp_path) if use_password_file: username = get_value_from_password_store(PASSWORD_FILE_FTP_USERNAME_PARAM_NAME, default_value=username) password = get_value_from_password_store(PASSWORD_FILE_FTP_PASSWORD_PARAM_NAME, default_value=password) if use_password_file: db_username = get_value_from_password_store(PASSWORD_FILE_DB_USERNAME_PARAM_NAME, default_value=db_username) db_password = get_value_from_password_store(PASSWORD_FILE_DB_PASSWORD_PARAM_NAME, default_value=db_password) download_from_ftp_and_unpack(name, "lagrummet.sql", tmp_path, username, password) stop_tomcat() with hide('output','running'): run("mysql -u %s --password=%s lagrummet < %s/lagrummet.sql" % (db_username, db_password, tmp_path) ) start_tomcat(wait=0)
def _initialize_password(): env.password = get_value_from_password_store(PASSWORD_FILE_STANDARD_PASSWORD_PARAM_NAME,env.password)