首先确保sh脚本具有可执行属性
chmod +777 ***.sh
确保sh脚本手动执行正常
手动执行脚本
加载环境变量
这是比较容易忽略的问题,加入source /etc/profile
路径问题
这个是当时遇到的问题,对于相对路径,要特别注意!脚本运行时的目录是不是期望中的目录,这样相对路径才有效。
我的方法是cd到目录下
示例
定时任务
00 12 * * * /dadan/db2esdb/run_db2esdb.sh
执行脚本
run_db2esdb
#!/bin/bash
source /etc/profile
# 获取当前日期和时间,格式化为"年月日"
DATE=$(date +%Y%m%d)
# 创建日志文件名,包含时间信息
LOG_FILE="output_${DATE}.log"
cd /dadan/db2esdb
# 运行Python脚本,并将输出重定向到包含时间信息的文件
nohup python3 create_run_logstash_conf.py > "$LOG_FILE" 2>&1 &