crontab计划任务

一、crontab基本用法

1.1、cron服务

  cron是一个linux下 的定时执行工具,可以在无需人工干预的情况下运行作业。

systemctl start crond     //启动服务

systemctl stop crond     //关闭服务

systemctl restart crond  //重启服务

systemctl reload crond  //重新载入配置

systemctl status crond   //查看服务状态

1.2、crontab参数选项

crontab (选项) (参数)

-e:编辑该用户的计时器设置;

-l:列出该用户的计时器设置;

-r:删除该用户的计时器设置;

-u<用户名称>:指定要设定计时器的用户名称。

1.3 、crontab文件的含义

计划任务:可以规定计算机在什么时间做什么事

计划任务的分类

分为:  分 时 日 月 周   五个模块   前面是时间,后面是动作,动作用绝对路径写。

minute: 表示分钟,可以是从0到59之间的任何整数。
hour:表示小时,可以是从0到23之间的任何整数。
day:表示日期,可以是从1到31之间的任何整数。
month:表示月份,可以是从1到12之间的任何整数。
week:表示星期几,可以是从0到之6间的任何整数,星期日为0。
command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。
在以上各个字段中,还可以使用以下特殊字符
星号():代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如
/10,如果用在minute字段,表示每十分钟执行一次。

二、示例

date 查看系统时间

2.1、每分钟执行一次command

*/1 * * * *   command

2.2、每小时的第2和40分钟执行一次command

2,40 * * * * command

2.3、在下午15点到晚上21点的每小时第20分钟执行一次command

20 15-21 * * * command

2.4 每隔三天的凌晨15点到晚上21点每小时的第20分钟执行一次command

20 15-21 */3 * * command

2.5 每个月的14号的两点执行一次command

0  2  14 *  *  command

2.6 每个月1号3号5号的三点整执行一次command

0 3  1,3,5 * * command

2.7 每个月5号到8号的三点整执行一次command

0  3 5-8 * * command

【注意】写计划任务的时候一般开两个终端,比较省事,要用绝对路径去写。

绝对路径是什么?

例如: 我要看一下我的reboot命令存储在哪里。

进入到计划任务配置文件之后,把这个路径直接粘到 分时日月周 后面。

 怎么去写呢?

crontab -e(编写计划任务)

crontab -l  查看本机的计划任务

crontab -r  删除本机的计划任务    也可以crontab -e 进去dd删除

先把五个位数写上,这样不会乱

 

 要求它15点06的时候重启

 

 计划任务不执行的原因:

1.计划任务本身写错

2.etc/passwd是不是有属性   lsattr /etc/passwd

3.系统的时间不对

 4.看看有没有计划任务的进程crond

 crond是计划任务本身的守护进程,如果把计划任务的进程给pkill了计划任务就不能执行。

一次性的计划任务

可以不用绝对路径,每一个命令用一行表示。at 是一次性执行的计划任务,而 crontab -e 是循环调度执行任务。 例如要求今天三点重启,用at。每天三点重启,用crontab -e。

yum -y install at  安装at

systemctl restart atd  启动at

vi at.jobs

  at 16:30 < at.jobs

id k

id k1

给普通用户创建计划任务

root是可以给普通用户创建计划任务

crontab -u k -e   #使用k用户创建

 crontab -u k -l     #查看用户的计划任务

  crontab -r           #删除当前用户的计划任务

 crontab -u k -r    #删除k用户的计划任务

禁止普通用户捣乱使用计划任务 (root用户禁止普通用户使用计划任务)

vi /etc/cron.deny     在这个配置文件里面把k写上

用k用户写计划任务,发现不能写。因为root用户在/etc/cron.deny 把k写进去了。

 如果普通用户就想用计划任务的话,就让root用户在etc/cron.deny把k删掉。

【注意】多看书,少玩游戏。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你是我的导航

谢谢您的打赏,您的鼓励。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值