# Automating TSM, backups, upgrades and client deployment

*Tableau Architect Study Guide · Monitor and Maintain a Tableau Deployment · Last updated November 13, 2026 · https://www.certifyforce.com/study-guide/tableau-architect/monitor-and-maintain-a-tableau-deployment/automating-tsm-backups-upgrades-and-client-deployment*

Script Tableau Server changes with TSM and the REST API, schedule backup and cleanup jobs safely with cron or Task Scheduler, automate restore runbooks and multi-node upgrades, deploy Tableau Desktop and Prep Builder silently, and enable and query the Metadata API.

- Certification: Salesforce Tableau Architect
- Exam section: Monitor and Maintain a Tableau Deployment
- Study guide: https://www.certifyforce.com/study-guide/tableau-architect

**Official exam objective:**

> 3.5 Automate server maintenance functions: 3.5.1 Manage and change Tableau Server resources programmatically, including Tableau Services Manager (TSM), REST APIs, and tabcmd; 3.5.2 Recommend a script deployment method, including Windows Scheduler and cron; 3.5.3 Recommend automated deployment methods for Tableau Server, Tableau Desktop, and Tableau Prep; 3.5.4 Design an automated complex disaster recovery process; 3.5.5 Plan and implement multi-node server upgrades; 3.5.6 Automate maintenance tasks, such as cleanup and backup; 3.5.7 Configure and use the Metadata API.

## What the exam expects

- Change Tableau Server programmatically with TSM, the REST API and tabcmd, choosing the right interface for server-level versus content-level changes.
- Recommend how scripts run unattended with Windows Task Scheduler or cron, including credentials and the node they run on.
- Automate backup and cleanup, and design a disaster recovery restore that also rebuilds what backups leave out.
- Plan a multi-node in-place upgrade that keeps downtime short and recovers from a failed script.
- Automate Tableau Desktop and Tableau Prep Builder deployment, and enable and query the Metadata API.

Key terms: **TSM** (Tableau Services Manager, the CLI and web UI for server configuration, topology and maintenance); **Administration Controller** (TSM controller service, usually on the initial node); **.tsbak** (the repository and File Store backup file); **settings export** (`tsm settings export` JSON of configuration and topology); **Metadata API** (GraphQL API for lineage and schema metadata).

## Key facts

| Fact | Detail | Source |
|---|---|---|
| Passwordless tsm | TSM-authorized group, local, on the controller node | [tsm reference](https://help.tableau.com/current/server/en-us/tsm.htm) |
| Linux TSM group | `tsmadmin` by default | [TSM overview Linux](https://help.tableau.com/current/server-linux/en-us/tsm_overview.htm) |
| REST default Content-Type | `text/xml` | [REST fundamentals](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_fundamentals.htm) |
| Cleanup default | Temp and logs older than 1 day; no crash dumps | [tsm maintenance](https://help.tableau.com/current/server/en-us/cli_maintenance_tsm.htm) |
| `cleanup -a` | `-l -t -r -q -ic` | [tsm maintenance](https://help.tableau.com/current/server/en-us/cli_maintenance_tsm.htm) |
| Restore target | Same identity store type; same or newer version | [Backup and restore](https://help.tableau.com/current/server/en-us/backup_restore.htm) |
| Network share backups | Machine account needs write access | [Backup and restore](https://help.tableau.com/current/server/en-us/backup_restore.htm) |
| Failed upgrade script | Rerun; resumes where it failed | [Run upgrade script](https://help.tableau.com/current/server/en-us/server-upgrade-baseline-multinode-run-script.htm) |
| Desktop ATR default | 1209600 seconds (14 days) | [Command line properties](https://help.tableau.com/current/desktopdeploy/en-us/desktop_deploy_cli_ref.htm) |
| Metadata API on Server | Disabled until `metadata-services enable` | [Metadata API start](https://help.tableau.com/current/api/metadata_api/en-us/docs/meta_api_start.html) |
| NODE_LIMIT_EXCEEDED | Warning with partial results | [Metadata API errors](https://help.tableau.com/current/api/metadata_api/en-us/docs/meta_api_errors.html) |

## Check yourself

- When Tableau Server is stopped, which cleanup work cannot happen?
- Why should the exported settings JSON be encrypted and stored securely?
- Why open a new command prompt before running upgrade-tsm manually?
- Where do you explore the Metadata API schema in a browser?

## Sources

- [tsm Command Line Reference](https://help.tableau.com/current/server/en-us/tsm.htm)
- [Tableau Services Manager Overview (Linux)](https://help.tableau.com/current/server-linux/en-us/tsm_overview.htm)
- [tsm maintenance](https://help.tableau.com/current/server/en-us/cli_maintenance_tsm.htm)
- [Perform a Full Backup and Restore of Tableau Server](https://help.tableau.com/current/server/en-us/backup_restore.htm)
- [Multi-node Upgrade -- Run Setup on Each Node](https://help.tableau.com/current/server/en-us/server-upgrade-baseline-multinode-setup-add-nodes.htm)
- [Multi-node Upgrade -- Run Upgrade Script](https://help.tableau.com/current/server/en-us/server-upgrade-baseline-multinode-run-script.htm)
- [Fundamentals - Tableau Server REST API](https://help.tableau.com/current/api/rest_api/en-us/REST/rest_api_concepts_fundamentals.htm)
- [Install From the Command Line (Desktop and Prep)](https://help.tableau.com/current/desktopdeploy/en-us/desktop_deploy_automate.htm)
- [Command Line Options and Properties (Desktop and Prep)](https://help.tableau.com/current/desktopdeploy/en-us/desktop_deploy_cli_ref.htm)
- [Metadata API Get Started](https://help.tableau.com/current/api/metadata_api/en-us/docs/meta_api_start.html)
- [Metadata API Common Errors](https://help.tableau.com/current/api/metadata_api/en-us/docs/meta_api_errors.html)
- [Metadata API How to Authenticate](https://help.tableau.com/current/api/metadata_api/en-us/docs/meta_api_auth.html)

## About the full unit

The "Core concepts", "Exam traps" and "Worked scenario" sections of this unit, its 20 linked practice questions, and unlimited timed mock exams are included with the Tableau Architect pack (USD $19): https://www.certifyforce.com/practice-exams
