跳到主要内容

cron 定时任务(适用于一直运行的任务)

# 定时任务配置文件
cat /etc/crontab

# 定时任务记录文件
cat /var/spool/cron/root
# 通过crontab控制定时任务
crontab -l # 查看定时任务列表
crontab -e # 编辑定时任务
crontab -i # 删除定时任务,提示用户是否删除
crontab -r # 删除定时任务,移除/var/spool/cron/username文件
crontab -u jacker -l # root用户查看jacker的定时任务列表

# 0 * * * * 每小时执行,每小时的整点执行
# 1 2 * * 4 每周四凌晨2点1分执行
# 1 2 3 * * 每月的3号凌晨2点1分执行
# 1 2 3 4 * 每年的4月3号凌晨2点1分执行
# 1 2 * * 3,5 每周三和周五的2点1分执行
# * 13,14 * * 6,0 每周六,周日的下午1点和2点的每一分钟都执行
# 0 9-18 * * 1-5 周一到周五的早上9点到晚上的6点的每一小时执行
# */10 * * * * 每个10分钟执行一次任务
# */7 * * * * 如果没法整除,定时任务将没有意义

at 定时任务(只是运行一次的任务)

# 语法
# HH:MM 时分
# YYYY-mm-dd 年月日
# noon 正午中午12点
# midnight 午夜晚12点
# teatime 下午茶时间,下午四点
# tomorrow 明天
# now+1min 一分钟后

at -l # 列出等待中的作业
at -d 作业号 # 删除任务
at now+1min # 一分钟后执行
at> ls / # ctrl+d提交任务

黑白名单

/etc/cron.deny # 黑名单文件 (将uid大于1000的用户写入黑名单,即普通用户无法创建定时任务)
# cron.deny
jacker
ben

/etc/cron.allow # 白名单,优先级高于黑名单
# cron.allow
jacker

关闭邮件服务的消息提醒

systemctl stop postfix.service
systemctl disable postfix.service

日志管理

# 打开日志功能
vim /etc/rsylog.d/50-default.conf
cron.* /var/log/cron.log #将cron前面的注释符去掉
systemctl restart rsyslog.service
systemctl restart crond.service

# cron日志
cat /var/log/cron.log