非交互式、非登录 shell 将尝试获取 $BASH_ENV 中指定的任何脚本。但是如何保证在 cron 作业或脚本有机会为任何特定会话设置 $BASH_ENV 之前设置 $BASH_ENV ?使用硬编码来编译 Bash 是唯一的选择吗?
我有以下文件execute-backup-from-container.sh。这个文件的内容是:
#!/bin/bash
FILE=minime.sql.`date +"%Y%m%d".gz`
CONTAINER='mysql_01'
SCRIPT_ON_CONTAINER='/container-mysql-dump.sh'
${OUTPUT}=$(docker exec ${CONTAINER} /$SCRIPT_ON_CONTAINER)
echo "=============="
echo "$CONTAINER:/$FILE"
echo "=============="
docker cp "$CONTAINER:/$FILE" backup-data/
Run Code Online (Sandbox Code Playgroud)
当我运行时,crontab -e我将输入以下内容:
0 5 * * 1 /home/me/projects/execute-backup-from-container.sh
这意味着execute-backup-from-container.sh应该在每天早上 5:00 执行。
问题是脚本根本没有执行。
那么到底是什么问题呢?为什么不执行?