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

 我来答
泪reni
推荐于2019-09-06 · TA获得超过2485个赞
知道答主
回答量:15
采纳率:0%
帮助的人:2090
展开全部

概述

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位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

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

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

程序员养大闸蟹
推荐于2019-10-02 · 自家的蟹塘,苏州阳澄湖蓝标大闸蟹养殖户
程序员养大闸蟹
采纳数:2362 获赞数:20622

向TA提问 私信TA
展开全部

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

方法一:

  • 准备好定时启动的脚本auto.py

  • 用root权限编辑以下文件

  • 在文件末尾添加以下命令

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

crontab编写解释

  • 基本格式

  • 举例说明

方法二:

APScheduler定时框架

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

使用 APScheduler 需要安装

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

代码中的 BlockingScheduler 是什么呢?

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

代码中是 cron 是什么?

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

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xingcaizxc
2013-04-17 · TA获得超过109个赞
知道答主
回答量:76
采纳率:0%
帮助的人:37.1万
展开全部
用crontab定时任务。
crontab -e 编辑定时任务,你可以加入:* 00 * * * ~/test
保存定时任务,这样就可以实现你的目的了。
追问
我还是不太懂,是不是直接编辑crontab ,0    0    *    *    *    /home/test 
这样系统每天就在0点0分自动执行了么?
追答
对的,关于crontab的详细用法,你可以网上搜一下,这是linux的定时管理。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
哗然之后
推荐于2017-04-25 · TA获得超过8266个赞
知道大有可为答主
回答量:3137
采纳率:54%
帮助的人:3212万
展开全部
放在crontab里啊
# m h dom mon dow command
0 0 * * * /home/yourshell.sh
更多追问追答
追问
我还是不太懂,是不是直接编辑crontab ,0    0    *    *    *    /home/test 
这样系统每天就在0点0分自动执行了么
追答
用crontab -e命令来编辑
对,自动执行。
第一个0代表0分,第二个0代表0时,接下来的3个*号表示每天每月每周都执行,command代表您要执行的脚本。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式