首页 > 解决方案 > 如何在 cron 选项卡中设置环境变量并在 shell 脚本中获取这些值

问题描述

我需要从 cron 选项卡中配置一些值并将它们放入我的 shell 脚本文件中。我在下面解释我的脚本文件。

#!/bin/sh

#=====================================================================
# Set the following variables as per your requirement
#=====================================================================
# Database Name to backup
MONGO_DATABASE="ubot-db"
# Database host name
MONGO_HOST="127.0.0.1"
# Database port
MONGO_PORT="27017"
# Backup directory
BACKUPS_DIR="/home/subhrajp/UBOT/"
# Database user name
DBUSERNAME="username"
# Database password
DBPASSWORD="passw0rd"
# Authentication database name
DBAUTHDB="admin"
# Days to keep the backup
DAYSTORETAINBACKUP="14"
#=====================================================================

TIMESTAMP=$(date +'%Y_%m_%d_%H-%M-%S')
BACKUP_NAME="mongobackup_$TIMESTAMP"

echo "Performing backup of $MONGO_DATABASE"
echo "--------------------------------------------"
# Create dump
mongodump --host $MONGO_HOST -d $MONGO_DATABASE --port $MONGO_PORT --out "${BACKUPS_DIR}${BACKUP_NAME}"
echo "--------------------------------------------"
echo "Database backup complete!"

在这个文件中,我对BACKUPS_DIR值进行了硬编码,但我需要从 crontab 进行配置,因为我将此文件作为 cron 作业运行。我的 crontab 设置如下。

* * * * * /home/subhrajp/UBOT/git/uBot-Hosting/container/app/mean-stack/node-js/utils/backup-mongodb.sh

在这里,我的要求是我需要从 crontab 配置一些值作为环境变量,并在上面给出的 shell 脚本中获取这些值。

标签: shellcronsh

解决方案


推荐阅读