【发布时间】:2011-04-01 18:53:18
【问题描述】:
我想每天运行一次脚本(仅在周末),但是我不能为此使用 cron 作业。
我在想有一个无限的while循环,睡24小时,检查是否是周末,如果是则执行脚本。
linux下bash下有什么好的解决办法?
我目前的实现:
#! /bin/bash
while [ true ]; do
if [[ $(date +%u) -lt 6 ]]; then
./program
else
echo Today is a weekend, processing is skipped. Back to sleep.
fi
sleep 86400
done
我将在下午 5 点启动此脚本。
【问题讨论】:
-
cron 是一个很好的解决方案。你能告诉我们为什么你不能使用它吗?
-
您能详细说明您的限制条件吗? “在”工作可能是不可接受的?服务器重启后作业是否应该自动重启?
-
我没有使用 cron 表的权限。让我们假设服务器不会重新启动。
-
您是否有权使用
at或batch? -
您对这些事件的时间安排有多准确?是否必须在当天下午 5:00 发生,还是在下午 5 点到 6 点之间的某个时间可以接受准确度?