Linux中cron命令的用法详解

开心天天65

开心天天65

2016-03-31 15:16

岁数大了,QQ也不闪了,微信也不响了,电话也不来了,但是图老师依旧坚持为大家推荐最精彩的内容,下面为大家精心准备的Linux中cron命令的用法详解 ,希望大家看完后能赶快学习起来。

Linux中cron命令的用法详解

   linux中有一个命令可以定期来执行系统任务。这就是crond服务。下面介绍下crontab命令的用法。

  linux任务调度的工作主要分为以下两类:

  编辑/etc/crontab 文件配置cron

  cron服务每分钟不仅要读一次 /var/spool/cron内的所有文件,还需要读一次/etc/crontab,因此我们配置这个文件也能运用cron服务做一些事情。用 crontab配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务。此文件的文件格式是:

  1、系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存

  2、个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置

  crontab是UNIX系统下的定时任务触发器,其使用者的权限记载在下列两个文件中:

  文件 含义

  /etc/cron.deny 该文件中所列的用户不允许使用crontab命令

  /etc/cron.allow 该文件中所列的用户允许使用crontab命令

  /var/spool/cron/ 是所有用户的crontab文件

  crontab命令的格式为:crontab –l|-r|-e|-i [username],其参数含义如表一:

  参数名称 含义 示例

  -l 显示用户的crontab文件的内容 crontab –l

  -i 删除用户的crontab文件前给提示 crontab -ri

  -r 从crontab目录中删除用户的crontab文件 crontab -r

  -e 编辑用户的Crontab文件 crontab -e

  用户所建立的crontab文件存于/var/spool/cron中,其文件名与用户名一致。

  它的格式共分为六段,前五段为时间设定段,第六段为所要执行的命令段,

  格式如下:* * * * *

  其时间段的含义如表二:

  段 含义 范围

  第一段 代表分钟 059

  第二段 代表小时 023

  第三段 代表日期 131

  第四段 代表月份 112

  第五段 代表星期几,0代表星期日 06

  例:如果用户的Crontab文件的内容是:29 19 * * * echo its dinner time,则系统每天的19:29显示‘its dinner time’

  示例(创建一个cron全过程,每分钟都会在test.txt里输入当前时间):

  1、以普通用户登录Linux系统(我用的是CentOS4.1)

  2、

  代码如下:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)

  $crontab –e

  说明:系统默认的编辑器是VIM,如果不是请加上以下shell:

  代码如下:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)

  $EDITOR=vi

  $export EDITOR

  3、输入

  代码如下:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)

  */1 * * * * date $HOME/test.txt,save and exit VIM

  4、

  代码如下:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)

  $su root

  5、

  代码如下:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)

  $cd /etc/init.d

  6、

  代码如下:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)

  ./crond restart

  下面看看看几个具体的例子:

  0 */2 * * * /sbin/service httpd restart 意思是每两个小时重启一次apache

  50 7 * * * /sbin/service sshd start 意思是每天7:50开启ssh服务

  50 22 * * * /sbin/service sshd stop 意思是每天22:50关闭ssh服务

  0 0 1,15 * * fsck /home 每月1号和15号检查/home 磁盘

  1 * * * * /home/bruce/backup 每小时的第一分执行 /home/bruce/backup这个文件

  00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} ; 每周一至周五3点钟,在目录/home中,查找文件名为*.xxx的文件,并删除4天前的文件。

  30 6 */10 * * ls 意思是每月的1、11、21、31日是的6:30执行一次ls命令

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

  0 23-7/2,8 * * * echo "Have a good dream:)" /tmp/test.txt

  7、编辑cron的配置文件/etc/crontab,如下:

  代码如下:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)

  SHELL=/bin/bash

  PATH=/sbin:/bin:/usr/sbin:/usr/bin

  MAILTO=root //如果出现错误,或者有数据输出,数据作为邮件发给这个帐号

  HOME=/ //使用者运行的路径,这里是根目录

  # run-parts

  01 * * * * root run-parts /etc/cron.hourly //每小时执行/etc/cron.hourly内的脚本

  02 4 * * * root run-parts /etc/cron.daily //每天执行/etc/cron.daily内的脚本

  22 4 * * 0 root run-parts /etc/cron.weekly //每星期执行/etc/cron.weekly内的脚本

  42 4 1 * * root run-parts /etc/cron.monthly //每月去执行/etc/cron.monthly内的脚本

  大家注意"run-parts"这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名了。

  8、如果某 cron 任务需要根据调度来执行,而不是每小时、每日、每周、或每月地执行,它可以被添加到 /etc/cron.d 目录中。该目录中的所有文件使用和 /etc/crontab 中一样的语法。

  代码如下:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)

  # record the memory usage of the system every monday

  # at 3:30AM in the file /tmp/meminfo

  30 3 * * mon cat /proc/meminfo /tmp/meminfo

  # run custom script the first day of every month at 4:10AM

  10 4 1 * * /root/scripts/backup.sh

  9、快速调度任务

  我们已经非常熟悉使用cron守护进程执行一个计划命令。

  Cron是一个Linux系统管理的高级命令,用于计划定时任务如备份或者指定时间或间隔的任何事情。

  但是,你是否知道at命令可以让你在指定时间调度一个任务或者命令?at命令可以指定时间执行指定内容。

  例如,你打算在早上11点2分执行uptime命令,你只需要这样做:

  代码如下:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)

  $ at 11:02

  uptime /home/$USER/uptime.txt

  Ctrl+D

  检查at命令是否成功设置,使用:

  代码如下:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)

  $ at -l

  at支持计划多个命令,例如:

  代码如下:

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/fuwuqi/)

  $ at 12:30

  Command – 1

  Command – 2

  

  command – 50

  

  Ctrl + D

展开更多 50%)
分享

猜你喜欢

Linux中cron命令的用法详解

服务器
Linux中cron命令的用法详解

Linux中ldd命令的用法详解

电脑入门
Linux中ldd命令的用法详解

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Linux下nl命令的用法详解

电脑入门
Linux下nl命令的用法详解

Linux下hostname命令的用法详解

电脑入门
Linux下hostname命令的用法详解

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Linux中ifconfig命令用法汇总

电脑入门
Linux中ifconfig命令用法汇总

Linux系统中hexdump命令的用法汇总

电脑入门
Linux系统中hexdump命令的用法汇总

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

iPhone6s怎么分期付款

iPhone6s怎么分期付款

Linux系统中file命令的使用详解

Linux系统中file命令的使用详解
下拉加载更多内容 ↓