回答
您立即执行该脚本,将其输出发送到at
。您需要将脚本本身的名称发送到at
:
echo /path/to/my/script | at now + 5 min
怎么样:
sleep 300 && /path/to/my/script
呀,这曲estion并不真正需要'at'。我建议你使用'&&'而不是';',这样它可以被取消。 – 2010-10-18 23:40:11
不错的增强杰克 – 2010-10-18 23:45:39
在更优雅的伊莫,因为它不挂一个进程。 – Eddie 2012-02-27 19:57:21
命令是从左向右计算,所以首先你的脚本执行后,它的输出将通过管道输送到at命令,这是正常行为。请看at man pages了解更多信息。
问题是,您正在运行脚本并将输出管道输送至at
命令。你需要做的是运行at
命令,将脚本路径作为参数。我不确定语法,但at -h
或man at
应该有所帮助。
at -f /path/to/my/script -t now +5 minutes
这应该尽可能安排脚本在特定时间运行。有关“at
”命令的更多信息,请尝试linuxmanpages.com。我可能错误地认为(目前不在linux系统上测试)。
好运反正
试试这个
sys.scheduled_run /path/to/my/script 5
主要功能
function sys.scheduled_run(){
local PATH_TO_ACTION MINS SLEEPTIME
PATH_TO_ACTION=$1
MINS=$2
SLEEPTIME=$(($MINS * 60))
echo "Sleeping for $MINS minute ($SLEEPTIME seconds) and then running $PATH_TO_ACTION"
ui.countdown $SLEEPTIME
$PATH_TO_ACTION
echo "Done"
if [ "REPEAT" == "$3" ]
then
echo "Going for Repeat"
sys.scheduled_run "[email protected]"
fi
}
倒计时功能
function ui.countdown(){ #USAGE ui.countdown 60 countdown for 60 seconds
local SECONDS=$1
local START=$(date +%s)
local END=$((START + SECONDS))
local CUR=$START
while [[ $CUR -lt $END ]]
do
CUR=$(date +%s)
LEFT=$((END-CUR))
printf "\r%02d:%02d:%02d" \
$((LEFT/3600)) $(((LEFT/60)%60)) $((LEFT%60))
sleep 1
done
echo " "
}
- 1. 如何每5秒钟运行一次shell脚本2分钟?
- 2. 运行循环5分钟
- 3. 每分钟运行一次PHP脚本
- 4. 每x分钟运行phantomjs脚本
- 5. 每20分钟运行脚本
- 6. 如何设置cron每40分钟/ 25分钟运行脚本?
- 7. 并行运行bash脚本
- 8. 并行运行bash脚本?
- 9. 让程序运行5分钟
- 10. 从R脚本运行bash脚本
- 11. Bash脚本运行php脚本
- 12. 从PHP脚本运行bash脚本
- 13. awk的运行bash脚本
- 14. bash脚本从rc.local运行
- 15. 运行BASH脚本文件
- 16. 从java运行bash脚本
- 17. 从JVM运行bash脚本
- 18. Bash shell脚本,只用脚本的某个部分运行&
- 19. 每5分钟运行一次PHP脚本并避免竞争条件
- 20. Mac bash脚本 - 每2分钟自动执行右箭头键
- 21. 运行一个PHP脚本,运行一个运行bash脚本的Python脚本,挂在bash上
- 22. 在Xcode中运行2分钟的定制shell脚本2分钟内停留
- 23. 从bash启动脚本调用的Python脚本在运行20分钟后停止,
- 24. PHP脚本运行下到Windows时钟
- 25. 每5分钟从php脚本创建一个文本文件
- 26. 如何在bash脚本中串行运行sql脚本?
- 27. 通过获取系统时间每5分钟执行脚本本身
- 28. cron命令来运行PHP脚本每10分钟
- 29. 如何在Google App Engine中运行脚本超过10分钟
- 30. 运行一个批处理脚本,每15分钟
而且downvoter会照顾解释吗? – 2010-10-19 04:23:44