Linux crontab命令小结

在linux系列中,常常通过crontab命令来维护crontab文件,从而达到提交计划作业的目的。在介绍crontab命令之前,我们先来了解下crontab文件中每个条目中各个域的格式和意义。
crontab每个条目都有6个域,分别对应6列,从左到右依次为第1列,第2列...第6列。下面是这些域的详细介绍:
第1列:分钟 1~59
第2列:小时 1~23
第3列:日期 1~31
第4列:月份 1~12
第5列:星期 0~6(0表示星期日)
第6列:要运行的命令
在前5列中,可以用减号"-" 表示范围;用逗号","表示或;用星号"*"表示连续的时间,如果对某域没有特别的限制,该域也需要填入星号"*"。"*/5" 这样格式表示每5分钟[小时,天等]。每列之间要用空格隔开。请参考下面的列子:

58 12 * * * /apps/bin/task.sh
每天12:58运行脚本task.sh
59 23 1,10,20 * * /apps/bin/backup.sh
每月1,10,20日的23:59分运行脚本backup.sh
30 12 * * 6,0 /bin/find -name "log" -exec rm {} \;
每个周六周日的12:30执行命令
0,30 18-23 * * * /apps/bin/check.sh
每天的18点到23点,每隔30分钟执行脚本check.sh
*/3 * * * * /apps/bin/mysqlmonitor >> /tmp/mysqlmonitor.log
每3分钟执行脚本


了解了crontab文件格式的意义,我们开始介绍怎么使用crontab
1、创建crontab文件
a:创建作业内容文件
[root@localhost ~]$ cat > mycron
*/2 * * * * /bin/echo `date` > /dev/console
输入上面的内容,然后摁ctrl+d保存文件mycron
b:提交作业文件mycron
crontab mycron
2、列出crontab文件内容
crontab -l
3、删除crontab文件
crontab -r
3、编辑crontab文件
crontab -e

怎么备份crontab文件。每个用户的crontab文件默认保存在/var/spool/cron/<username> 文件中。加入的你的用户名devw,那么你的crontab文件就是/var/spool/cron/devw 你直接备份该文件即可,当然要有足够的权限。

当然如果想运行crontab,需要先安装crontab开启crond服务,下面介绍下,怎么安装crontab及对crond服务进行管理:

安装
yum install vixie-cron
yum install crontabs

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

查看crond服务状态
service crond status
启动crond服务
service crond start
关闭crond服务
service crond stop
重启crond服务
service crond restart
重新crond载入配置
service crond reload
把crond加入开机自动启动
chkconfig --level 35 crond on

查看crond是否设置开启启动,可以执行命令:ntsysv


当然,对于非root用户,安装完软件,启动好服务,设置好crontab文件,并不一定能启动计划任务,为什么呢?缺少权限。

cron通过/etc/cron.allow和/etc/cron.deny来允许或禁止用户拥有自己的crontab文件。root用户可以创建、编辑或删除这些文件。这些文件中的条目是用户登录名,每行一个名称。

怎么通过这两个文件进行权限界定的呢?如果以下一个条件成立,用户将不能使用crontab命令:

cron.allow文件和cron.deny文件不存在(只允许root用户)。 

cron.allow文件存在,但用户的登录名并不列在其中。 

cron.deny文件存在,并且用户的登录名列在其中。

提醒,如果cron.allow和cron.deny中用户名都存在,则用户具有运行权限。cron.allow的优先级比cron.deny高

如果想让脚本以某个user身份执行,要用到su,大致如下:

*/5 * * * * su -c '/home/ossh/bin/crontab/dealFail.php' - ossh




  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值