我有一大堆bash脚本,可以将不同的目录备份到不同的位置。我希望每个人每天都跑步。但是,我想让它们不能同时运行。
我写了一个脚本,它基本上只是连续调用每个脚本并位于cron.daily中,但是我想要一种方法让这个脚本工作,即使我添加和删除备份脚本而不必手动编辑它。 / p>
所以我需要的是生成一个脚本列表(例如“dir -1 /usr/bin/backup*.sh”),然后依次运行它找到的每个脚本。
感谢。
答案 0 :(得分:5)
#!/bin/sh
for script in /usr/bin/backup*.sh
do
$script
done
答案 1 :(得分:4)
#!/bin/bash
for SCRIPT in /usr/bin/backup*.sh
do
[ -x "$SCRIPT" ] && [ -f "$SCRIPT" ] && $SCRIPT
done
答案 2 :(得分:2)
如果您的系统有run-parts
,则会为您处理。您可以将脚本命名为“10script”,“20anotherscript”,它们将以类似于rc*.d
层次结构(通过init或Upstart运行)的方式按顺序运行。在某些系统上,它是一个脚本。我的是二进制可执行文件。
您的系统可能只是通过将脚本放入目录(例如/etc/cron.hourly /
)来使用它来每小时,每天等运行cron作业但要特别注意how you name your scripts。 (例如,不要使用点。)检查特定于您的系统的手册页,因为文件命名限制可能会有所不同。