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)
上一篇 2025年9月3日 上午8:22
下一篇 2025年9月3日 上午9:01


相关推荐

  • Nano Banana Pro:为什么所有人都在夸它?我实测后发现,它是真的强!

    Nano Banana Pro:为什么所有人都在夸它?我实测后发现,它是真的强!

    2026年3月13日
    2
  • 最全化妆品清单_产品标准清单

    最全化妆品清单_产品标准清单linuxeBPF是3.17内核开始引入的一个全新设计,代码目录主要在kernel/bpf下,它的全称是extendedBPF(eBPF),目前关于eBPF的资料还比较乱,很难得看到一篇对ebpf总结的那么全的文章,转载自此:

    2026年2月8日
    4
  • 计算机系统构成及硬件基础知识

    目录数值转换R进制转十进制使用按权展开法。十进制转R进制使用短除法。二进制转八进制。二进制转十六进制。数的表示原码/反码/补码/移码浮点数运算计算机的基本组成计算机体系结构计算机体系软硬件的层次结构计算机的一些基本概念本章主要包括以下部分:数值转换 数的表示 计算机体系结构 计算机的组成 寻址方式 校验码数值转换R进制转十进制…

    2022年4月8日
    160
  • C语言写高斯消去法

    C语言写高斯消去法CreatedByKev include defineMAX10d MAX MAX 系数矩阵 doubleb MAX 右端项 doubleX MAX 迭代向量 intNUM A 的阶数 intsize 最大迭代次数 intm

    2026年3月17日
    2
  • pycharm中找不到vue插件

    pycharm中找不到vue插件pycharm 中找不到 vue 插件刚刚开始学习 vue 想创建一个 vue 组件 但是创建时没有这个选项 查询后发现需要下载 vue 插件 打开 file settings 选择 Plugins 搜索 vue 选择 vue js 安装 安装后重启 133aca351a53 png 但是我在换了两个版本 搜索几遍之后总是搜不出来 vue js 在查询社区版和专业版区别之后发现 我试用的版本是社区版 社区版是不支持 web 开发插件的 换了专业版之后成功

    2026年3月17日
    2
  • C++ 读写TXT文件

    C++ 读写TXT文件 一、文件的输入输出二、从txt文件中读取二维数组(int以及string)三、从txt文件读取的数据存到struct中 参考博客:https://blog.csdn.net/u013749068/article/details/78761553     http://www.cnblogs.com/helinsen/archive/2012/07/26/2609…

    2022年5月5日
    62

发表回复

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

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