Linux如何在特定时间运行脚本?

我有一个包含特定date和时间文本文件。 我希望能够在该文件中指定的时间运行脚本。 你将如何实现? 创build另一个在后台运行的脚本(sorting的deamon),并检查每一秒,如果当前时间是匹配的文件中的时间? 有另一种方法吗? 该机器是一个Linux服务器,Debian wheezy。 提前致谢

看看下面的内容:

echo "ls -l" | at 07:00 

该代码行在特定的时间执行“ls -l”。 这是在特定时间执行某些事情(在我的例子中是一个命令)的例子。 “at”是你真正想要的命令。 你可以阅读这里的规格:

http://manpages.ubuntu.com/manpages/precise/en/man1/at.1posix.html http://manpages.ubuntu.com/manpages/xenial/man1/at.1posix.html

希望能帮助到你!

at命令专门为此目的而存在(与用于调度重复性任务的cron不同)。

 at $(cat file) </path/to/script 

克朗对于那些定期运行的东西是很好的,比如每个星期六凌晨4点。 也有anacron ,它围绕着停电,睡觉,什么都没有。 以及

但是对于一次性的解决scheme来说,不需要root或者任何东西,你可以用date来计算目标时间和当前时间的秒数,然后用expr来找出差异, 几秒钟。

通常在Linux中,您使用crontab来处理这种types的任务。 但是您必须指定“设置计时器”的时间 – 所以如果您希望在文件本身中进行configuration,则必须创build一些机制来执行此操作。

但总的来说,你会使用例如:

 30 1 * * 5 /path/to/script/script.sh 

每个星期五1:30(上午)执行脚本这里:

30分钟

1是小时

接下来的2 *是day of monthmonth (按顺序), 5是工作日

Linux已经提供了这个工具,你不需要重新创build。 将其设置为以Cron作业运行。

查看此链接了解详情: http : //www.cyberciti.biz/faq/how-do-i-add-jobs-to-cron-under-linux-or-unix-oses/