我想在启动时运行一个命令,它每 10 分钟 ping 某个地址并将结果写入文件。我现在已经弄清楚如何执行 ping 和文件写入以及 10 分钟的间隔:
while true; do my-command-here; sleep 600; done
Run Code Online (Sandbox Code Playgroud)
我的问题是,/etc/init.d/rc.local
我可以把它放进去还是应该把它/etc/rc.local
完全放进去或其他地方?我特别担心,因为它是一个无限循环,所以我不确定是否可以将它放在这些启动脚本之一中。
一些帮助将不胜感激。我正在使用 Ubuntu 12.04.5
这并不是一个真正的无限循环;这是一项需要每十分钟运行一次的任务。因此,任务可以进入任务调度程序,cron
。
运行命令crontab -e
并将这一行添加到文件的底部:
*/10 * * * * /path/to/my-command-here
Run Code Online (Sandbox Code Playgroud)
确保它my-command-here
是一个可执行脚本 ( chmod u+x my-command-here
) 并且它的第一行以#!
脚本解释器的名称和名称开头(通常为#!/bin/bash
)。
模式中的每个条目都*/10 * * * *
映射到分钟 (0-59)、小时 (0-23)、日 (1-31)、月 (1-12) 和星期几 (0-6,其中 0=星期日) .
我可以把它放在 /etc/init.d/rc.local 中还是应该把它放在 /etc/rc.local 或其他地方?
如果将其放入rc.local
,则应将其放入子 shell 中并将其分叉到后台。最后一行rc.local
应该是exit 0
,并且它不会阻塞,即任何前台活动都应该简短。
(while true
do my-command-here
sleep 600
done) &
Run Code Online (Sandbox Code Playgroud)
将其( )
放入子 shell 中并将&
其置于后台。
如果您遇到问题,请查看此有关调试的问答rc.local
。
归档时间: |
|
查看次数: |
8192 次 |
最近记录: |