centos7下 crontab -e 未成功运行原因

 
启动失败原因之一:
  注意: 二进制程序名称与包名一致;----这就是crontab始终无法启动程序的原因;
=> 使 用 绝 对 路 径 运 行 脚 本 时 :  由 于 包 名 与 程 序 名 称 一 致 ,查找进程名时,注意使用grep -v 过滤包含进程名的字符串
 如下 grep -v start.sh 避 免 ps获 取 到 的 是 执 行 start 路 径 中 与 进 程 同 名 的 包 名
 
start.sh脚本内容:
#!/bin/bash
 
source /etc/profile
source ~/.bash_profile
 
export LD_LIBRARY_PATH=/home/Code/ProjectGit/proxy/lib/
 
DT=$(date +"%Y-%m-%d %H:%M:%S ")
BIN=proxy
PROGRAM_PATH=/home/Code/ProjectGit/proxy/
PROGRAM_PID=$(ps aux | grep ${BIN} | grep -v grep| grep -v start.sh | awk '{print $2}') 
 
#-n 如 果 string长 度 不 为 0则 为 真
if [ -n "${PROGRAM_PID}" ]; then
PROGRAM_PID=$(ps -aux | grep ${BIN} | grep -v grep| grep -v start.sh| awk '{print $2}')
echo "${DT} The current process is running: - ${PROGRAM_PID}"
echo "*************************************************************"
else
echo "#############################################################"
cd ${PROGRAM_PATH}
 
nohup ./bin/${BIN} -c conf/ >>nohup &
 
PID=$(ps aux | grep ${BIN} | grep -v grep| grep -v start.sh| awk '{print $2}')
echo "${DT} Start running the process: - ${PID}"
fi
 
posted @ 2023-01-30 09:26  uagvdu  阅读(258)  评论(0编辑  收藏  举报