前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux下定时执行脚本[通俗易懂]

linux下定时执行脚本[通俗易懂]

作者头像
全栈程序员站长
发布2022-09-09 15:03:43
4.1K0
发布2022-09-09 15:03:43
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

1.安装crontab

yum install vixie-cron

yum install crontab

linux下定时执行脚本[通俗易懂]
linux下定时执行脚本[通俗易懂]
linux下定时执行脚本[通俗易懂]
linux下定时执行脚本[通俗易懂]

2.启动crontab服务

service crond start

用以下的方法启动、关闭这个cron服务: service crond start //启动服务 service crond stop //关闭服务 service crond restart //重启服务 service crond reload //重新载入配置

查看crontab运行状态

service crond status

linux下定时执行脚本[通俗易懂]
linux下定时执行脚本[通俗易懂]

3.加入开机自动启动: chkconfig –level 35 crond on 或chkconfig crond on

4.编写脚本

touch /home/sq.sh 在home目录下新建sq.sh脚本

linux下定时执行脚本[通俗易懂]
linux下定时执行脚本[通俗易懂]

编辑脚本并写入命令执行语句

vi /home/sq.sh

linux下定时执行脚本[通俗易懂]
linux下定时执行脚本[通俗易懂]

#! /bin/bash 是必须要写的,表示要是/bin/bash这个执行脚本的命令执行接下来写的脚本, echo “hello world !!”表示想前端打印一句话即输出语句,>>表示将语句输出到指定路径

脚本编写完成后,.通过chmod命令赋予该脚本的执行权限chmod 777 sq.sh,否则没有执行权限

5.添加任务调度

crontab -e进入添加页面,添加*/1 * * * * /home./sq.sh表示每分钟执行一次改脚本

linux下定时执行脚本[通俗易懂]
linux下定时执行脚本[通俗易懂]

输入完毕后输入:wq保存退出

6.crontab -l 查看已经添加的任务调度

linux下定时执行脚本[通俗易懂]
linux下定时执行脚本[通俗易懂]

7.重启任务调度服务开始执行任务调度

/etc/init.d/crond restart

linux下定时执行脚本[通俗易懂]
linux下定时执行脚本[通俗易懂]

8.查看任务调度是否生效

tail -f /home/sq_nohup.out

linux下定时执行脚本[通俗易懂]
linux下定时执行脚本[通俗易懂]

备注:

minute hour day month dayofweek command

minute – 从0到59的整数

hour – 从0到23的整数

day – 从1到31的整数 (必须是指定月份的有效日期)

month – 从1到12的整数 (或如Jan或Feb简写的月份)

dayofweek – 从0到7的整数,0或7用来描述周日 (或用Sun或Mon简写来表示)

command – 需要执行的命令(可用as ls /proc >> /tmp/proc或 执行自定义脚本的命令)

root表示以root用户身份来运行

run-parts表示后面跟着的是一个文件夹,要执行的是该文件夹下的所有脚本

对于以上各语句,星号(*)表示所有可用的值。例如*在指代month时表示每月执行(需要符合其他限制条件)该命令。 整数间的连字号(-)表示整数列,例如1-4意思是整数1,2,3,4指定数值由逗号分开。如:3,4,6,8表示这四个指定整数。

符号“/”指定步进设置。“/<interger>”表示步进值。如0-59/2定义每两分钟执行一次。步进值也可用星号表示。如*/3用来运行每三个月份运行指定任务。

例:每天早上6点

1

0 6 * * * echo "Good morning." >> /tmp/test.txt //注意单纯echo,从屏幕上看不到任何输出,因为cron把任何输出都email到root的信箱了。

例:每两个小时

1

0 */2 * * * echo "Have a break now." >> /tmp/test.txt

例:晚上11点到早上8点之间每两个小时,早上八点

1

0 23-7/28 * * * echo "Have a good dream:)" >> /tmp/test.txt

例:每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点

1

0 11 4 * 1-3 command line

例:1月1日早上4点

1

0 4 1 1 * command line

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/160697.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档