crontab定时执行

2020-05-27  本文已影响0人  王哈哈就很棒

crontab命令

crontab -u      # 设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l      # 列出某个用户cron服务的详细内容    
crontab -r      # 删除没个用户的cron服务    
crontab -e      # 编辑某个用户的cron服务

如:
crontab -u root -l   # 查看root用户的cron服务的内容
crontab -u root -r   # 删除root用户的cron服务的内容
crontab -u root -e   # 编辑root用户下的定时任务

crontab 格式

# crontab基本格式
# +---------------- minute  分钟(0 - 59)
# |  +------------- hour    小时(0 - 23)
# |  |  +---------- day     日期(1 - 31)
# |  |  |  +------- month   月份(1 - 12)
# |  |  |  |  +---- week    星期(0 - 7) (星期天=0 or 7)
# |  |  |  |  |
# *  *  *  *  *  要运行的命令

定时示例

# 每天早上6点追加一条字符串到一个文本。
0 6 * * * echo "Good morning." >> /tmp/test.txt

# 每两个小时追加一条字符串一个文本。
0 */2 * * * echo "Have a break now." >> /tmp/test.txt

# 晚上11点到早上8点之间每两个小时,早上八点
0 23-7/2,8 * * * echo "Have a good dream:)" >> /tmp/test.txt

# 每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * 1-3 command line

# 1月1日早上4点
0 4 1 1 * command line

# 每月每天每小时的第 0 分钟执行一次 /bin/ls
0 * * * * /bin/ls

# 在 12 月内, 每天的早上 6 点到 12 点中,每隔 20 分钟执行一次 /usr/bin/backup
*/20 6-12 * 12 * /usr/bin/backup

# 周一到周五每天下午 5:00 寄一封信给 alex_mail_name :
0 17 * * 1-5 mail -s "hi" alex_mail_name < /tmp/maildata

# 每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha"
20 0-23/2 * * * echo "haha"

# 晚上11点到早上8点之间每两个小时,早上8点,显示时间
0 23-7/2,8 * * * date

第二种方式配置cron

vim /etc/crontab

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内的脚本
*/1 * * * * touch /root/aaaa.txt             # 每分钟执行一遍  在/root下创建文本

特殊符号含义

“/”代表每的意思,”/5″表示每5个单位, “-“代表从某个数字到某个数字, “,”分开几个离散的数字
上一篇下一篇

猜你喜欢

热点阅读