linux负载机执行脚本shell
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
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 '---测试执行结束---'
优化后
#!/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 查看当前定时任务列表