使用crontab,让linux定时执行shell脚本

阅读目录

Linux中,周期执行的任务一般由cron这个守护进程来处理。cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间。cron的配置文件称为“crontab”,是“cron table”的简写。

1. cron服务【Ubuntu环境】

查看cron状态

sudo  service cron status

开启cron

sudo /etc/init.d/cron start

关闭cron

sudo /etc/init.d/cron stop

重启cron

sudo /etc/init.d/cron restart

2. crontab用法

crontab –e : 修改 crontab 文件,如果文件不存在会自动创建。  (这样可以编辑模式打开个人的crontab配置文件,然后加入一下这行:0 0 * * * /home/linrui/XXXXXXXX.sh

这将会在每天凌晨运行 指定的.sh文件

crontab –l : 显示 crontab 文件。 
crontab -r : 删除 crontab 文件。
crontab -ir : 删除 crontab 文件前提醒用户。

在crontab文件中写入需要执行的命令和时间,该文件中每行都包括六个域,其中前五个域是指定命令被执行的时间,最后一个域是要被执行的命令。每个域之间使用空格或者制表符分隔。格式如下:

minute hour day-of-month month-of-year day-of-week commands

合法值为:00-59 00-23 01-31 01-12 0-6 (0 is sunday)

除了数字还有几个特殊的符号:"*"、"/"和"-"、","

  • *代表所有的取值范围内的数字
  • "/"代表每的意思,"/5"表示每5个单位
  • "-"代表从某个数字到某个数字
  • ","分开几个离散的数字

:commands 注意以下几点

  • 要是存在文件,要写绝对路径
  • 即使是打印也不会显示在显示屏,在后台运行,最好重定向日志

3. 使用vim编辑crontab文件

EDITOR=vi
export EDITOR
crontab -e

4. Cron 各项的描述

以下是 crontab 文件的格式:

{minute} {hour} {day-of-month} {month} {day-of-week} {full-path-to-shell-script} 
o minute: 区间为 0 – 59 
o hour: 区间为0 – 23 
o day-of-month: 区间为0 – 31 
o month: 区间为1 – 12. 1 是1月. 12是12月. 
o Day-of-week: 区间为0 – 7. 周日可以是0或7.

5. 例子解释

1 0 * * * /home/lenovosh/work/bianyi.sh lumus nedp

在每天凌晨00:01运行 指定的bianyi.sh脚本文件

59 23 * * 1,2,3,4,5 /home/lenovosh/work/bianyi.sh lumus nedp

在每个工作日23:59运行 指定的bianyi.sh脚本文件,或者如下写法

59 23 * * 1-5 /home/lenovosh/work/bianyi.sh lumus nedp

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

*/1 * * * * /home/lenovosh/work/bianyi.sh lumus nedp

每分钟运行 指定的bianyi.sh脚本文件

10 14 1 * * /home/lenovosh/work/bianyi.sh lumus nedp

每个月的1号14:10运行 指定的bianyi.sh脚本文件

1 0 * * 1,3,5 /home/lenovosh/work/bianyi.sh lumus nedp

每周一、三、五凌晨00:01运行 指定的bianyi.sh脚本文件

具体想看bianyi.sh(编译脚本)怎么实现,请看下一篇博客!

时间: 2024-10-05 07:52:45

使用crontab,让linux定时执行shell脚本的相关文章

Crontab 让linux定时执行shell脚本

使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令.例如系统管理员安排一个备份任务使其每天都运行   入门 # crontab –e 这样可以已编辑模式打开个人的crontab配置文件,然后加入一下这行: 0 0 * * * /home/linrui/XXXXXXXX.sh 这将会在每天凌晨运行指定的.sh文件 Cron 各项的描述 以下是 crontab 文件的格式: {minute} {hour} {day-of-month} {month} {day-of-

Linux 定时执行shell脚本命令之crontab

crontab可以在指定的时间执行一个shell脚本以及执行一系列Linux命令 例如:服务器管理员定时备份数据库数据.日志等 详解: 常用命令: crontab –e //修改 crontab 文件,如果文件不存在会自动创建. crontab –l //显示 crontab 文件. crontab -r //删除 crontab 文件. crontab -ir //删除 crontab 文件前提醒用户. service crond status //查看crontab服务状态 service

linux 定时执行shell脚本 定时任务

本文讲述crontab具体用法,以供备忘. 在oracle 中可以利用dbms_job包定时执行pl/sql.sql过程,在像备份等需要在操作系统级定时任务只能采用crontab来完成 利用crontab来定时执行任务大致有如下三步: 1.编写shell脚本 2.利用crontab加入到定时任务队列 3.查看作业完成情况 一.如何建立shell脚本 linux下有很多不同的shell,但我们通常使用bash(bourne again shell)进行编程,因为bash是免费的并且很容易使用 程序

linux 定时执行shell脚本

转自:http://blog.csdn.net/jingxiangren/article/details/4745631 在oracle 中可以利用dbms_job包定时执行pl/sql.sql过程,在像备份等需要在操作系统级定时任务只能采用crontab来完成 本文讲述crontab具体用法,以供备忘. 在oracle 中可以利用dbms_job包定时执行pl/sql.sql过程,在像备份等需要在操作系统级定时任务只能采用crontab来完成 利用crontab来定时执行任务大致有如下三步:

Linux 定时执行shell脚本_crontab

1.查看任务[[email protected] OracleBackA]$ crontab -l 2.新增任务[[email protected] OracleBackA]$ crontab -e 3.每天14点40执行/backup/OracleBackA/sh.sh 脚本,日志输出到 /backup/OracleBackA/shlog.txt 40 14 * * * /backup/OracleBackA/sh.sh &>> /backup/OracleBackA/shlog.t

Linux中使用crontab命令定时执行shell脚本或其他Linux命令

使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令.例如系统管理员安排一个备份任务使其每天都运行 如何往 cron 中添加一个作业? # crontab –e0 5 * * * /root/bin/backup.sh 这将会在每天早上5点运行 /root/bin/backup.sh Cron 各项的描述 以下是 crontab 文件的格式: {minute} {hour} {day-of-month} {month} {day-of-week} {full-pat

Linux中执行shell脚本的4种方法

这篇文章主要介绍了Linux中执行shell脚本的4种方法总结,即在Linux中运行shell脚本的4种方法,需要的朋友可以参考下. bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/root/bin目录中并已有执行权限(添加权限的方法:chmod +x hello.sh). 方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本: ./ 的意思是说在当前的工作目录下执行hello.sh.如果不加上

Linux中执行shell脚本

这篇文章主要介绍了Linux中执行shell脚本的4种方法总结,即在Linux中运行shell脚本的4种方法,需要的朋友可以参考下 bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限.方法一:切换到shell脚本所在的目录(此时,称为工作目录)执行shell脚本:复制代码 代码如下: cd /data/shell./hello.sh ./的意思是说在当前的工作目录下执行hello.s

使用linux客户端执行shell脚本创建数据库初始化数据库中文乱码问题

定义了一个shell脚本,可以根据其他的多个sql文件创建数据库,并且使用包含初始化数据的sql文件初始化数据库. 在windows下使用linux客户端连接到linux服务器,执行shell脚本后,发现创建出的数据库有中文乱码. 确定是字符集设置问题.查看数据库,发现字符集设置如下,很多还是 latin1. mysql> show variables like 'character_set_%';+--------------------------+---------------------