我们已经为多个设置安排了测试套件命令,即使用 bash 脚本在 cron 作业中进行开发和准备、生产设置。
每天都会一个接一个地运行。我们需要同时(并行)运行具有不同设置的所有测试套件
我正在使用 bash 脚本在 Cron 中运行该命令。
设置_wise_测试
setup_wise_test,在 sh bash 脚本中存在以下命令。脚本 1 脚本 2 脚本 3 直到脚本 8,具有不同的设置相关测试用例。
每个测试最多需要 45 分钟(Selenium 测试用例)。如果我一个接一个地安排所有测试,则需要超过 6 小时 40 分钟才能完成所有测试。
因此,请帮助我建议如何在 bash 中并行运行所有命令。
当我像下面这样运行时
21 13 * * * 用户 cd /home/common_setupwise_testcases && bash sample1.sh >> /home/cron_logs/common_setup_wise_logs/sample.log
21 13 * * * 用户 cd /home/common_setupwise_testcases && bash sample2.sh >> /home/cron_logs/common_setup_wise_logs/sample2.log
21 13 * * * 用户 cd /home/common_setupwise_testcases && bash sample3.sh >> /home/cron_logs/common_setup_wise_logs/sample3.log
在上面的sample1.sh中,sample2.sh和sample3.sh是用于测试用例的运行命令。
当我在 cron(sample1.sh 和 sample2.sh)中安排上述所有 3 个命令并行执行时,第三个命令未执行。
答案1
这是来自 unix.stackexchange 的答案:
https://unix.stackexchange.com/questions/287166/how-to-run-multiple-scripts-at-a-same-time
简短的例子,把它放在你的用户的‘crontab -e’中,该用户应该运行这些作业:
0 15 * * 6 job1
0 15 * * 6 job2
0 15 * * 6 job3
EDIT1 针对@Mounika K
我尝试过非常简单的脚本:
$ cat job1.sh
#!/bin/bash
yes > /dev/null 2>&1
并尝试作为 crontab 条目运行:
22 * * * * /var/tmp/job1.sh
22 * * * * /var/tmp/job2.sh
22 * * * * /var/tmp/job3.sh
正如预期的那样,有 3 个 yes 程序实例在后台运行。检查您的系统是否允许用户使用 cron。
答案2
21 13 * * * command1 &; command2 &; command3 &