【发布时间】:2016-01-12 23:51:40
【问题描述】:
我尝试在我的 Crontab 中使用变量,但面临的事实是它们的工作方式很奇怪。这是一个例子:
FOO=echo date
BAR=/root/foobar
COMB=echo date >> /root/comb
* * * * * $FOO >> $BAR
* * * * * $COMB
foobar 工作正常,但 comb 不能(未创建梳子文件)。 还有类似的东西:
FOO=echo `date`
BAR=/root/foobar
* * * * * $FOO >> $BAR
或
FOO=echo date
BAR=~/foobar
* * * * * $FOO >> $BAR
也不行。好像有一些符号限制可以在 crontab 文件中的变量中使用,对吗?
我的目标是简单地检查一个 ruby 脚本是否已经在运行,如果没有则重新启动它:
STARTSCRIPT='ruby ~/RubyScripts/Script.rb'
*/5 * * * * pgrep -f "$STARTSCRIPT" &>/dev/null || $STARTSCRIPT
但由于这些限制,它不起作用。或者也许我做错了什么) 所有东西都可以在 SmartOS(某种 Solaris)内的 lx 品牌区域 Ubuntu 14.04 LX 0150320 上运行。
【问题讨论】: