Ejemplo n.º 1
0
def restore_database():
    """
    restore a database backup file, please use backup_database command first
    """
    require('database_host', provided_by=[staging_server])

    from lib.database_restore import DatabaseRestore
    database_restore = DatabaseRestore(env.database_user,
                                       env.database_password,
                                       env.database_name,
                                       env.database_host)

    utils.make_dir_if_not_exists(database_restore.get_remote_restore_dir())

    database_restore.list_backup_file()
    database_restore.select_restore_file()
    put(database_restore.get_local_restore_file(),
        database_restore.get_remote_restore_file())

    is_uploadad_sucessed = utils.is_same_content(
        database_restore.get_local_restore_file(),
        database_restore.get_remote_restore_file())
    if is_uploadad_sucessed:
        run(database_restore.get_restore_database_cmd())
    else:
        print "upload failed, you need upload again"
Ejemplo n.º 2
0
def backup_database():
    """
    backup your database
    """
    require('database_host', provided_by=[staging_server, production_server])

    from lib.database_backup import DatabaseBackup
    database_backup = DatabaseBackup(env.database_user,
                                     env.database_password,
                                     env.database_name,
                                     env.database_host,
                                     env.server_type)

    utils.make_dir_if_not_exists(database_backup.get_remote_backup_dir())
    database_backup.make_local_backup_file_path()

    run('uptime')
    run(database_backup.get_backup_cmd())
    run(database_backup.get_show_remote_backup_file_cmd())
    #run('md5sum %s' % database_backup.get_remote_backup_file_path())
    get(database_backup.get_remote_backup_file_path(),
        database_backup.get_local_backup_file_path())

    is_download_sucessed = utils.is_same_content(
        database_backup.get_local_backup_file_path(),
        database_backup.get_remote_backup_file_path())
    if is_download_sucessed:
        print "Backup database sucess"
    else:
        print "backup database faile"
    run(database_backup.get_remove_remote_backup_file_cmd())
    return database_backup.get_local_backup_file_path()