linux定时执行shell脚本「建议收藏」

linux定时执行shell脚本「建议收藏」写一个shell脚本,定时执行简单示例很多时候我们有希望服务器定时去运行一个脚本来触发一个操作,比如说定时去备份服务器数据、数据库数据等不适合人工经常做的一些操作这里简单说下 Shell俗称壳,类似于DOS下的command和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

写一个shell脚本,定时执行简单示例

很多时候我们有希望服务器定时去运行一个脚本来触发一个操作,比如说定时去备份服务器数据、数据库数据等 不适合人工经常做的一些操作这里简单说下

 

Shell俗称壳,类似于DOS下的command和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。作为命令语言,它交互式解释和执行用户输入的命令或者自动地解释和执行预先设定好的一连串的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。

我的虚拟机是centos7.0.2

接下来 写一个简单的shell命令:

1.先进入根目录

cd /root

2.使用vi编辑器 可以直接 # vim hello.sh编写第一个shell文件 hello.sh, 注意一定要以.sh结尾

vim hello.sh

3.编写第一个shell文件,#!/bin/bash 是必须要写的,表示要是/bin/bash这个执行脚本的命令执行接下来写的脚本, echo “hello world !!”表示想前端打印一句话,具体看各自需求。

linux定时执行shell脚本「建议收藏」

4.通过chmod命令赋予该脚本的执行权限chmod 755 hello.sh,否则没有执行权限,/root/hello.sh表示在全路径下执行该shell脚本

linux定时执行shell脚本「建议收藏」

 

就此一个简单的shell脚本就这样写完了 具体的这里就不讲了。(说白了,shell脚本就相当于一个文件,它专门来干自己独立的任务)

虽然一个简单的shell脚本写完了 但是运行后只能执行一次 对很多应用场景来说还是不够,接下来说一下定时任务

 

linux应该都有crontab,没有的话可以安装一下:

yum install  vixie-cron

yum install  crontabs

vixie-cron软件包是cron的主程序; 
crontabs软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。

 

安装完以后开启crontab服务

service crond start

 

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

查看crontab服务状态:service crond status 
手动启动crontab服务:service crond start

 

查看crontab服务是否已设置为开机启动,执行命令:ntsysv 
加入开机自动启动: 
chkconfig –level 35 crond on

也可以用设置开机自动启动crond服务: 
[root@CentOS ~]# chkconfig crond on

linux定时执行shell脚本「建议收藏」

查看各个开机级别的crond服务运行情况 
[root@CentOS ~]# chkconfig –list crond 
crond 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭 
可以看到2、3、4、5级别开机会自动启动crond服务 
取消开机自动启动crond服务: 
[root@CentOS ~]# chkconfig crond off

 

 

 

设置需要执行的脚本 

新增调度任务可用两种方法: 
1)、在命令行输入: crontab -e 然后添加相应的任务,wq存盘退出。 
2)、直接编辑/etc/crontab 文件,即vi /etc/crontab,添加相应的任务。 
crontab -e配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务 
查看调度任务 
crontab -l //列出当前的所有调度任务 
crontab -l -u jp //列出用户jp的所有调度任务 
删除任务调度工作 
crontab -r //删除所有任务调度工作 
直接编辑 vim /etc/crontab ,默认的文件形式如下:

 

linux定时执行shell脚本「建议收藏」

 

 

 

前四行是有关设置cron任务运行的环境变量。

SHELL变量的值指定系统使用的SHELL环境(该样例为bash shell),

PATH变量定义了执行命令的路径。Cron的输出以电子邮件的形式发给MAILTO变量定义的用户名。

如果MAILTO变量定义为空字符串(MAILTO=””),电子邮件不会被发送。执行命令或脚本时HOME变量可用来设置基目录。

 

文件/etc/crontab中每行任务的描述格式如下: 

 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用来运行每三个月份运行指定任务。

 

以“#”开头的为注释行,不会被执行。

 比如上述图中 执行的是每隔一分钟执行一半hello.sh脚本 上边脚本输出的内容 大家也知道   >> 符号 指定文件获取内容的存放位置 比如访问一个地址 命令 curl http://www.baidu.com 

linux系统字符界面 无法显示画面只能把访问的页面编译后的代码原样输出 如:

linux定时执行shell脚本「建议收藏」

 

这样大家看着很乱吧

当然也有-I 参数 静默访问  curl -I http://www.baidu.com

linux定时执行shell脚本「建议收藏」

 

这样只显示一组http状态 但还是很乱 直接把他写进固定的日志文件就方便多了 

cat 一下 查看  这样就简单多了

 

linux定时执行shell脚本「建议收藏」

 

 

就此一个简单的定时任务就完成了
 

 

结束语》》夕阳无限好,黄昏又何妨。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm安装第三方库失败_pycharm怎么安装python库

    pycharm安装第三方库失败_pycharm怎么安装python库pycharm安装第三方库首先启动pycharm随后通过快捷键进入setting界面,快捷键为ctrl+Als+S点击右上角的加号,添加第三方库在安装之前,首先点击ManageRepositories增加一些国内的镜像源,包括豆瓣http://pypi.douban.com/simple/阿里的,http://mirrors.aliyun.com/pypi/simple/https://pypi…

    2022年8月28日
    7
  • Numpy数字类型 dtype「建议收藏」

    Numpy数字类型 dtype「建议收藏」dtype

    2022年6月12日
    37
  • mbus总线电路_LLC电路

    mbus总线电路_LLC电路发送电路:   如上图示,图一为带扩流电路的MBUS发送电路,图二为去掉扩流电路的MBUS发送电路事实证明,当为图一电路时在大负载情况下数据发送接收,都不正确,特别是接收数据错误。当有扩流电路时由于扩流电路起作用,电阻R208即使在MBUS大负载电流的情况下也不热当去掉扩流电路在MBUS大负载电流的情况下,电阻R208很

    2022年10月15日
    3
  • fast裸奔框架_达梦数据库导出dmp备份命令

    fast裸奔框架_达梦数据库导出dmp备份命令关于开源框架renrne-fast3.0集成达梦(DM)数据库以及遇到的小坑分享

    2022年7月28日
    10
  • 2021最新C++面试题(附答案)

    2021最新C++面试题(附答案)今天分享给大家的是比较全面的 C C 面试题 也都是 C 版本升级之后 重新整理归纳的最新答案 会让 C 面试者少走很多不必要的弯路 同时每个 C 面试题都尽量做到了详尽的面试解析文档 以确保每个阶段的读者都能看得懂 同时这部分 C 面试文档也是可以免费的提供给有需要的同学们学习的 一 计算机基础更多阿里 百度 华为 美团 腾讯 头条 C 面试题可以关注微信公众号 C 和 C 加加 回复 面试题 即可获取相关 C 面试题 1 C C 内存有哪几种类型 C 中 内存分为 5 个区 堆 malloc

    2025年10月17日
    5
  • python基础知识思维导图总结

    python基础知识思维导图总结今天给同学用思维导图整理了python基础知识,供大家复习参考学习,希望每天都有进步。鸡汤几点:没有目标永远不知道方向在哪?不去尝试永远不知道答案和结果?打破习惯、冲击惯性思维、不断学习,才能使你越来越有价值。行动永远比坐以待毙更幸运。主要内容:一、Python简介二、输入输出三、变量、数据基本类型与操作四、条件判断五、常用数据类型–列表六、常用数据类型–元组tuple、字典dict(全称dictionary)七、常用数据类型–布尔值(True

    2022年10月16日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号