linux负载机执行脚本shell

 1 cat  run.sh
 2 #!/bin/bash
 3 
 4 # 脚本路径
 5 basepath=/home/scapp/script
 6 
 7 #脚本名称,与目录保持一致
 8 filename=$1
 9 
10 echo '---测试开始执行---'
11 echo ---测试脚本《${filename}.jmx》---
12 
13 #进入脚本所在目录
14 cd ${basepath}/${filename}/
15 
16 #执行jmeter命令,执行测试脚本,并在脚本目录生成测试结果
17 /home/scapp/jmeter/apache-jmeter-3.1/bin/jmeter -n -t $filename.jmx -l ${filename}_`date +%Y%m%d`_`date +%H%M`.csv
18 
19 echo '---测试执行结束---'
View Code

 优化后

#!/bin/bash

# 脚本名称,与目录保持一致
filename=$1

# jmeter环境变量
JMETER_HOME=/home/scapp/jmeter/apache-jmeter-3.1/bin
# 脚本存放父目录
basepath=/home/scapp/script
# 脚本路径
scriptpath=${basepath}/${filename}/



# 判断是否存在目录
if [ -d "${scriptpath}" ];then
 # 进入脚本所在目录
 cd ${scriptpath}
 # 判断是否存在脚本文件
 if [ -f "${filename}.jmx" ];then
  echo '---测试开始执行---'
  echo ---测试脚本《${filename}.jmx》---

  #执行jmeter命令,执行测试脚本,并在脚本目录生成测试结果
  ${JMETER_HOME}/jmeter -n -t ${filename}.jmx -l ${filename}_`date +%Y%m%d`_`date +%H%M`.csv

  echo '---测试执行结束---'
 else
  echo '未发现脚本文件,请确认测试脚本是否上传'
 fi
else
 echo '无此目录,请检查脚本目录是否存在'
fi

 

 

定时任务执行稳定性测试

sudo -s 不用密码切换到root用户

#root用户执行
crontab -u scapp -e 为scapp用户创建调度任务

cron表达式 参考在线生成网站https://crontab.guru/

/etc/cron.allow 里添加用户,为用户赋予crontab的权限

su - scapp 切换到执行定时任务的用户

crontab -e 添加定时任务

#每天晚上10点执行run.sh并记录执行日志
0 22 * * * /home/scapp/script/run.sh index >> /home/scapp/cron.log 2>&1


crontab -l 查看当前定时任务列表

 

posted on 2023-03-14 15:58  彼得潘jd  阅读(91)  评论(0编辑  收藏  举报