Schemalägg en synkronisering
För organisationer som använder Directory Connector CLI kan automatiska synkroniseringar schemaläggas på definierade intervall som ett alternativ till att använda skrivbordsappens intervallinställning. Detta är särskilt användbart i huvudlösa miljöer, eller under omständigheter där en stationär app inte kan köras i bakgrunden.
För att schemalägga synkroniseringar, använd Cron i Unix-liknande miljöer inklusive Linux och MacOS, och använd Task Scheduler i Windows-miljöer:
Cron permissions
When running a cron job, we recommend doing so as a dedicated Directory Connector user. Create a bwdc user if you haven't already, and add that user to the etc/cron.allow list. This will allow a non-Root user to set up and run cron jobs.
In order to continue, you will also need your organization's API key client_id and client_secret, which can be obtained by an organization owner from the Web Vault by navigating to organization Settings → My Organization.
Setup a sync script
In order avoid session timeouts, we recommend creating a shell script to run through cron. This script should securely read your client_secret to complete the login, and run a bwdc sync command that writes output to bwdc.log.
tip
Need to sync from multiple directories? In your sync script, you can specify multiple folders, each of which must contain a data.json file with your directory sync settings.
You can then specify each directory to sync by performing multiple bwdc sync operations, for example:
Bash# Linux
BITWARDENCLI_CONNECTOR_APPDATA_DIR="./instance-1" bwdc sync
BITWARDENCLI_CONNECTOR_APPDATA_DIR="./instance-2" bwdc sync
# Windows
set BITWARDENCLI_CONNECTOR_APPDATA_DIR=./instance-1
bwdc sync
set BITWARDENCLI_CONNECTOR_APPDATA_DIR=./instance-2
bwdc syncSetup the cron job
As the permitted bwdc user:
Edit the user's crontab file by entering
crontab -ein the terminal, or as edit the crontab file as any user by enteringcrontab -u <bwdc_username> -e.Add a line to the crontab that includes:
A scheduling expression that will determine the time/recurrence interval on which to execute the desired command (for example,
0 0 * * 2to run every Tuesday at midnight).The command to execute at the specified time/recurrence interval. In this case, execute the previously created sync script (for example,
bwdcSyncService.sh):
For example, to run the sync script every Monday at 12:00:
Bash# 0 12 * * 1 bwdcSyncService.shCron job scheduling expressions
Use the following reference when scheduling syncs via cron to ensure you're scheduling them for the desired time:
Bash# ┌───────────── minute (0 - 59)
# │ ┌───────────── hour (0 - 23)
# │ │ ┌───────────── day of the month (1 - 31)
# │ │ │ ┌───────────── month (1 - 12)
# │ │ │ │ ┌───────────── day of the week (0 - 6) (Sunday to Saturday;
# │ │ │ │ │ 7 is also Sunday on some systems)
# │ │ │ │ │
# │ │ │ │ │
# * * * * * <command to execute>tip
If you're not yet comfortable with cron job scheduling expressions, check out https://crontab.guru/ for help.
Please note, this is a third-party resource that is not operated or maintained by Bitwarden.