There are a number of ways to automate backups of Analysis Services databases.  Some examples I've seen: SSIS Packages, PowerShell, SQL Agent jobs with XMLA. 

Here is a "quick and dirty" way using a .vbs cscript that can be called form the operating system, or scheduled in SQL Agent as a cmdexec step. This script will backup all Analysis Services databases programatically (i.e. if someone adds a new database, it will automatically be backed-up without further operational changes).

I'm not saying this is the best way to do this, and the script below completely lacks error trapping.  But it is effective, simple to implement, and may form a good base for a robust script in your environment.

 

 '-------------  Get the target folder from the command-line  -----------
 strBackupPath = WScript.Arguments.Named.Item("folder")
 WScript.echo "Destination folder: " & strBackupPath 

 if strBackupPath = "" then     wScript.Echo "'folder' parameter resulted in a blank string"     WScript.Echo "Usage: cscript BackupSSAS.vbs /folder:<full path to backup folder>"     WScript.Quit 1  end if

 strBackupPath = strBackupPath + "\"

 '-------------- Get TimeStamp in form YYYYMMDDhhmmss  -------------  MyTimestamp = CStr(Year(Now()) * 10000 + Month(Now()) * 100 + Day(Now())) _    + CStr(Hour(Now()) * 10000 + Minute(Now()) * 100 + Second(Now()))     '-------------  Connect to SSAS Instance  --------------------  Set ssas = CreateObject("Microsoft.AnalysisServices.Server")  ssas.Connect("localhost")

 '-----------  Backup Databases   -------------------------  For Each MyDatabase In ssas.Databases      MyDatabase.Backup strBackupPath + MyDatabase.Name + "_" + MyTimestamp + ".abf"  Next    '------------  Disconnect from SSAS Instance  -----------------  ssas.Disconnect()