任务计划 crontab

crontab命令用于设置周期性被执行的任务,包括查看(-l)、编辑(-e)、删除(-r)任务。配置文件由六个字段组成,分别代表分钟、小时、日期、月份、星期和命令。可使用范围、逗号分隔和星号通配符来定义执行频率。例如,每隔8小时、每天特定时间点执行任务。定义任务时需注意使用命令的完整路径,并确保正确记录日志以便追踪任务状态。
摘要由CSDN通过智能技术生成

crontab 命令

-u:指定某个用户,不加-u 选项则为当前用户
-e:制定计划任务
-l:列出计划任务
-r:删除计划任务

查看 crontab 的配置文件:

[root@localhost ~]# cat /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

配置文件中从左到右
第一位:分钟。 1-59
第二位:小时。0-23
第三位:天。1-31
第四位:月份。1-12
第五位:星期。0-6;sunday = 0 or 7
第六位:用户
第七位:具体命令

可用格式 1-5 表示一个范围 1-5;
可用格式 1,2,3 表示 1或者2或者3;
可用格式 */2 表示能被2整除的数字,比如小时,就是每隔两小时

示例:

每隔 8 小时执行
0 /8 * *

每天的 1 点,12 点,18 点执行
0 1,12,18 * *

每天的 9 点到 18 点执行
0 9-18 * * *

定义一个任务计划:

[root@localhost ~]# crontab -e
#每隔两天的凌晨 3 点执行
0 3 */2 * *  /bin/bash /usr/local/sbin/bakup.sh >>/tmp/bakup.log 2>>/tmp/bakup.log
#启动 crontab
[root@localhost ~]# systemctl start crond
#查看 crontab 状态
[root@localhost ~]# systemctl status crond
● crond.service - Command Scheduler
   Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
   Active: active (running) since 一 2017-12-04 22:42:18 CST; 36min ago
 Main PID: 696 (crond)
   CGroup: /system.slice/crond.service
           └─696 /usr/sbin/crond -n

1204 22:42:18 localhost.localdomain systemd[1]: Started Command Scheduler.
1204 22:42:18 localhost.localdomain systemd[1]: Starting Command Scheduler...
1204 22:42:18 localhost.localdomain crond[696]: (CRON) INFO (RANDOM_DELAY will be scaled ....)
1204 22:42:19 localhost.localdomain crond[696]: (CRON) INFO (running with inotify support)
Hint: Some lines were ellipsized, use -l to show in full.

注意事项:

  • 使用 crontab 的时候,要写命令的绝对路径。否则可能会出现执行不正确的情况。因为要执行的命令很有可能不在 crontab 配置文件的 PATH 里面。
  • 每写一个任务计划最好追加一个日志。正确输出和错误输入都要写上。这样才能保证这个任务有据可查。
  • 在目录 /var/spool/cron/ 下面会有对应用户的任务计划。可以把整个目录拷贝下来进行备份。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值