请求以下帮助。我需要每60秒/ 5分钟/ 10分钟调用各种shell脚本。基本上,我需要创建一个主包装器脚本,它将以适当的时间间隔调用各种脚本。
例如,脚本A是主包装器,每隔1,5,10,15分钟调用脚本B,C,D,E等。脚本A应该有两个参数(脚本名称和休眠时间),并且应该能够调用作为参数传递的脚本以及参数中提到的休眠时间。
答案 0 :(得分:0)
所以,A是永远循环,在循环内部,它调用后台的其他脚本,然后睡觉,启动新的后台进程等等?如果这真的是你正在寻找的东西(写一个循环,睡觉,调用另一个脚本),也许你可以解释一下,你究竟遇到了什么问题。
也许您也可以向我们展示您已实施的内容。这将使讨论问题变得更容易。
更新:
查看脚本草图:
您必须先决定如何将参数传递给脚本。更常见的方法是使用位置参数。另一种可能性是使用环境变量。
在前一种情况下,您将使用$ 1和$ 2来访问第一个和第二个参数。然后会像下面这样调用您的脚本:
your_script ProgramToBeExecuted 5
在后一种情况下,您必须决定环境变量的名称 - 例如,NAME和SLEEP,如您的示例中所示 - 但您必须通过$ NAME而不是NAME访问变量的内容。 " NAME"本身只是一个字符串。您的脚本 - 假设您使用ksh(如您的示例所示) - 然后将像这样调用
NAME=ProgramToBeExecuted SLEEP=5 your_script
答案 1 :(得分:0)
我创建了一个脚本
while [ 1 ]; do
ksh -x NAME
sleep SLEEP TIME
done
并将脚本名称和休眠时间作为参数传递。所以基本上这个脚本会调用另一个脚本并再次进入休眠状态。