crontab命令(循环执行的例行工作)

对应的系统服务是crond, 这个服务安装完系统就存在的。

也有配置文件来限制使用crond这个服务的用户: /etc/cron.deny /etc/cron.allow

​ /etc/cron.allow: 文件不存在,如果想要应用,手动去创建, 哪些用户可以使用

​ /etc/cron.deny: 文件存在,直接就可以, 哪些用户不可以使用

可以使用crontab这个命令来设置循环例行工作,建立例行工作之后会被写入到/var/spool/cron/, 以用户名来进行区分的。

crontab命令

 crontab [-u user] [-l | -r | -e] 
-u:只有root才能进行这个任务,帮某个用户新建/删除crontab
-e:编辑crontab的工作内容
-l:查阅crontab的工作内容
-r:删除所有的crontab的工作内容

crontab -e:编辑的时候,文件中写入的格式

总共6个字段: 前五个字段是设置周期,最后一个字段是要执行的任务
分钟 小时 天 月 星期  command(命令)

设置的时候,如果哪个不写的话,使用 * 来代替
星期的0-7: 其中0和7都代表周日
特殊符号:
* : 代表所有
, : 假设小时字段 1,2,3,5,11 => 会在一天里边的 1点,2点,3点,5点,11点去执行例行工作
- : 范围  小时: 1-4 =》代表就是一天中1点到4点去执行例行工作
/ : 代表的是频率: 分钟  */15 => 每15分钟执行一次 =》 /数字

举例:

闹钟:每周的周一到周五早上9点 执行叫我起床的任务

星期:周一到周五

月份:无关

日期:无关

小时:9

分钟:0

执行的任务:echo "叫我起床" > /root/cron_task

0 9 * * 1-5 echo "叫我起床" > /root/cron_task

系统例行工作:

vim /etc/crontab

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed



crontab -e:  现在使用的是哪个用户就为哪个用户创建
crontab -u sshuser -e: root用户为sshuser创建
系统任务
* * * * * username command 
username: 代表哪个用户去执行后边的任务
如果要执行多个任务,可以把执行的脚本文件,放入一个目录中,然后run-parts 目录
0 9 * * * sshuser  run-parts  /root/cron_script
每天早上9点sshuser去执行 /root/cron_scripts/所有的脚本

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值