Create backup rules
Backup rules are database-dependent scripts executed on containers before or after the backup operation to ensure application-consistent backups. Rules executed before and after the backup operation are called pre-exec and post-exec rules respectively. These rules are predominantly used to either freeze or unfreeze input/output operations of applications to facilitate Portworx Backup to take consistent backups.
In the backend, Portworx Backup initiates a pod (cmdexecutor
) to execute the required rules on the container based on labels applied to the deployments. If you have applied same label to a set of deployments, the cmdexecutor
pod selects all of them and then apply the defined rule or set of rules.
Some applications may only require freeze or pre-exec rules. If you want to add multiple instructions to a rule, you can add sub-rules. For example, while backing up an Elasticsearch application, you can add a sub-rule for a health check along with freeze operation.
To create a rule for backup, execute the following steps:
-
In the home page, from the left navigation pane, click Clusters.
-
In the upper-right corner, click Settings > Rules.
-
In the Backup Rules, click on the + icon or Add new:
-
Build your rule by populating the following fields:
-
Rule Name: enter a descriptive name for your rule
-
Pod selector: enter any label selectors based on your pod’s labels. For example,
app = postgres
uses the app label to select pods runningpostgres
. Use any of the equality-based selector operators -
Container (Optional): enter the optional name of the container to which Portworx Backup will apply the rule
-
Action: enter any commands you want to execute when the rule is triggered
-
Background: enable this if you want the rule to run in the background. Rule runs as a background process, can be used to back up crash consistent applications. (For example, mySQL)
-
Run in single pod: run this rule in a single pod. Kubernetes scheduler chooses the pod here and can be used to take a backup of your elective lead based applications (for example, mongoDB).
-
-
(Optional): Select the + Add icon to add more sub-rules:
-
Click Add to create the rule:
Once you have created a rule, you can associate it with a backup.