linux下编写一个shell脚本 每天0点 定时执行某一可执行程序test。 刚学习shell希望大侠们给个代码参考!

发布网友 发布时间:2022-02-26 09:59

我来回答

4个回答

热心网友 时间:2022-02-26 11:28

概述

linux用到定时任务需要crontab的帮助

首先终端键入:crontab -e

root@sys #:crontab -e

然后进行编辑,这里操作和vim操作一至

假设,我需要定时每秒访问一次指定网页,访问网页的脚本已经写好了,叫view.sh,放在了/user目录下,那么定时脚本将需要这么些。

*/1 * * * * /bin/sh /user/view.sh

解析

crontab [-u username] [-l|-e|-r]

参数:

-u: 只有root才能进行这个任务,也即帮其他用户新建/删除crontab工作调度;

-e: 编辑crontab 的工作内容;

-l: 查阅crontab的工作内容;

-r: 删除所有的crontab的工作内容,若仅要删除一项,请用-e去编辑。

crontab -e 进入编辑模式  #此时会进入vi的编辑界面让你编辑工作。注意到,每项工作都是一行。

*/1   *    *     *    *   /bin/sh /user/view.sh
#分  时   日   月  周  |=========命令行===|

代表意义    分钟    小时    日期    月份    周    命令    

数字范围    0~59    0~23    1~31    1~12    0~7    就命令啊    

特殊字符  -  代表意义    

*(星号)   ---  代表任何时刻都接受的意思。举例来说,范例一内那个日、月、周都是*,就代表着不论何月、何日的礼拜几的12:00都执行后续命令的意思。    

,(逗号)   ---  代表分隔时段的意思。举例来说,如果要执行的工作是3:00与6:00时,就会是:

0 3,6 * * * command

时间还是有五列,不过第二列是 3,6 ,代表3与6都适用

-(减号)   ---   代表一段时间范围内,举例来说,8点到12点之间的每小时的20分都进行一项工作:

20 8-12 * * * command

仔细看到第二列变成8-12.代表 8,9,10,11,12 都适用的意思

/n(斜线)  ---  那个n代表数字,即是每隔n单位间隔的意思,例如每五分钟进行一次,则:

*/5 * * * * command

用*与/5来搭配,也可以写成0-59/5,意思相同

拓展内容

linux

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。

严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。

热心网友 时间:2022-02-26 12:46

在某个时间段执行某个程序,准确的说是“定时任务”,我这里介绍2中linux(ubuntu)下定时执行python脚本的方式。

方法一:

以上代码的意思是每隔两分钟执行一次脚本并打印日志。

crontab编写解释

方法二:

APScheler定时框架

APScheler是一个 Python 定时任务框架,使用起来十分方便。提供了基于日期、固定时间间隔以及 crontab 类型的任务,并且可以持久化任务、并以 daemon 方式运行应用。

使用 APScheler 需要安装

每天早上6点半执行的例子

代码中的 BlockingScheler 是什么呢?

BlockingScheler 是 APScheler 中的调度器,APScheler 中有两种常用的调度器,BlockingScheler 和 BackgroundScheler,当调度器是应用中唯一要运行的任务时,使用 BlockingSchele,如果希望调度器在后台执行,使用 BackgroundScheler。

代码中是 cron 是什么?

cron: 在特定时间周期性地触发

热心网友 时间:2022-02-26 14:21

用crontab定时任务。
crontab -e 编辑定时任务,你可以加入:* 00 * * * ~/test
保存定时任务,这样就可以实现你的目的了。追问我还是不太懂,是不是直接编辑crontab ,0 0 * * * /home/test
这样系统每天就在0点0分自动执行了么?

追答对的,关于crontab的详细用法,你可以网上搜一下,这是linux的定时管理。

热心网友 时间:2022-02-26 16:12

放在crontab里啊
# m h dom mon dow command
0 0 * * * /home/yourshell.sh

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com