Fix: 修复环境变量无法穿透的问题,导致crontab无法正确更新模组
This commit is contained in:
@@ -39,8 +39,7 @@ RUN chown -R steam:steam ${STEAMCMD_DIR} && \
|
||||
chown steam:steam /opt/updatemod.sh && \
|
||||
chown -R steam:steam /opt/games
|
||||
|
||||
# 创建crontab配置文件
|
||||
RUN echo "*/15 * * * * /opt/updatemod.sh >> /var/log/updatemod.log 2>&1" > /etc/cron.d/updatemod
|
||||
RUN touch /etc/cron.d/updatemod
|
||||
|
||||
WORKDIR ${STEAMCMD_DIR}
|
||||
|
||||
|
||||
@@ -17,6 +17,19 @@ setup_crontab() {
|
||||
|
||||
echo "设置crontab自动更新任务..."
|
||||
|
||||
# 保存环境变量到/etc/environment文件(解决cron任务无法读取环境变量的问题)
|
||||
echo "保存环境变量到/etc/environment..."
|
||||
cat > /etc/environment << EOF
|
||||
STEAM_USERNAME=${STEAM_USERNAME}
|
||||
STEAM_PASSWORD=${STEAM_PASSWORD}
|
||||
MOD_IDS=${MOD_IDS}
|
||||
DAYZ_MISSIONS=${DAYZ_MISSIONS}
|
||||
DAYZ_SERVER_PORT=${DAYZ_SERVER_PORT}
|
||||
DAYZ_CPU_COUNT=${DAYZ_CPU_COUNT}
|
||||
ENABLE_AUTO_UPDATE=${ENABLE_AUTO_UPDATE}
|
||||
UPDATE_INTERVAL=${UPDATE_INTERVAL}
|
||||
EOF
|
||||
|
||||
# 启动cron服务
|
||||
service cron start
|
||||
|
||||
|
||||
@@ -6,6 +6,11 @@
|
||||
|
||||
set -e
|
||||
|
||||
# 加载环境变量(解决cron任务无法读取环境变量的问题)
|
||||
if [ -f "/etc/environment" ]; then
|
||||
export $(cat /etc/environment | xargs)
|
||||
fi
|
||||
|
||||
# 设置日志文件路径
|
||||
LOG_FILE="/var/log/updatemod.log"
|
||||
|
||||
@@ -17,6 +22,9 @@ echo "==========================================" >> "$LOG_FILE"
|
||||
# 检查环境变量
|
||||
if [ -z "$STEAM_USERNAME" ] || [ -z "$STEAM_PASSWORD" ]; then
|
||||
echo "错误: 请设置 STEAM_USERNAME 和 STEAM_PASSWORD 环境变量" >> "$LOG_FILE"
|
||||
echo "当前环境变量状态:" >> "$LOG_FILE"
|
||||
echo "STEAM_USERNAME: ${STEAM_USERNAME:-未设置}" >> "$LOG_FILE"
|
||||
echo "STEAM_PASSWORD: ${STEAM_PASSWORD:-未设置}" >> "$LOG_FILE"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user