Linux 下执行定时任务 crontab 命令详解

一、先来一个小小的例子

查看当前路径:css

全选复制放进笔记[root@root test]# pwd/home/admin/test [root@root test]# crontab -l

查看当前用户的定时任务 也能够 crontab -uroot -l查看指定用户的定时任务。
千万不要忘了中间的 sh 表示用户拿什么来执行命令sql

00 02 * * * sh /home/admin/optbash/dailyBackup.sh
00 02 * * * sh /home/admin/optbash/deleteDebugSql.sh

创建一个用定时任务跑的bash脚本:vim

[root@root test]# touch test.sh[root@root test]# vim test.sh

编辑以下内容,将系统当前时间输出到 console.txt 文件而后保存,增长可执行权限segmentfault

/bin/echo `date` > /home/admin/test/console.txt
[root@root test]# lltotal 8-rw-r--r-- 1 root root 29 Mar 27 21:31 console.txt
-rwxr-xr-x 1 root root 48 Mar 27 21:28 test.sh
[root@root test]# chmod +x ./test.sh

追加 crontab 定时任务,每分钟触发:bash

[root@root test]# crontab -e
00 02 * * * sh /home/admin/optbash/dailyBackup.sh
00 02 * * * sh /home/admin/optbash/deleteDebugSql.sh*  *  * * * sh /home/admin/test/test.sh

前面是已经存在的定时任务,后面执行test.sh脚本的是追加的
保存后提示已经装载了新的定时任务markdown

"/tmp/crontab.HauiiV" 3L, 143C written
crontab: installing new crontab

再次查看定时任务列表,能够看到定时任务已经添加ide

[root@root test]# crontab -l00 02 * * * sh /home/admin/optbash/dailyBackup.sh00 02 * * * sh /home/admin/optbash/deleteDebugSql.sh
*  *  * * * sh /home/admin/test/test.sh
[root@root test]#

查看console.txt有没有每分钟写入console.txt文件ui

[root@root test]# vim console.txtFri Mar 27 21:40:01 EDT 2015

能够看到最近一次的写入时间。spa

二、看看crontab 的时间表达式

基本格式 :*  *  *  *  *  command
分 时 日 月 周 命令

bVlbOI

而后来几个实际的例子:rest

一、每分钟执行一次            
*  *  *  *  * 二、每隔一小时执行一次        
00  *  *  *  * or* */1 * * *  (/表示频率)

三、每小时的15和30分各执行一次 
15,45 * * * * (,表示并列)

四、在天天上午 8- 11时中间每小时 15 ,45分各执行一次
15,45 8-11 * * * command (-表示范围)

五、每一个星期一的上午8点到11点的第3和第15分钟执行
3,15 8-11 * * 1 command

六、每隔两天的上午8点到11点的第3和第15分钟执行
3,15 8-11 */2 * * command

三、其余命令介绍

名称 : crontab使用权限 : 全部使用者

使用方式 :crontab file [-u user]-用指定的文件替代目前的crontab。crontab-[-u user]-用标准输入替代目前的crontab.crontab-1[user]-列出用户目前的crontab.crontab-e[user]-编辑用户目前的crontab.crontab-d[user]-删除用户目前的crontab.crontab-c dir- 指定crontab的目录。

四、crond 安装与配置服务

安装crontab:

yum install crontabs

服务操做说明:

/sbin/service crond start //启动服务

/sbin/service crond stop //关闭服务

/sbin/service crond restart //重启服务

/sbin/service crond reload //从新载入配置

查看crontab服务状态:

service crond status手动启动crontab服务:

service crond start查看crontab服务是否已设置为开机启动,执行命令:

ntsysv

加入开机自动启动:

chkconfig –level 35 crond on

https://segmentfault.com/a/1190000002628040

相关文章
相关标签/搜索