
定时任务 - crontab 命令crontab 命令基础用法1. 查看 crontab -l2. 编辑 crontab -e编辑该其他户的crontab文件 sudo crontab -u [username] -e3. 删除 crontab -rcrontab 文件格式解析* * * * * command从左到右5 个星号分别代表分钟0 - 59任务执行的分钟数。小时0 - 23任务执行的小时数。日期1 - 31任务执行的日期。月份1 - 12任务执行的月份。星期0 - 6任务执行的星期几其中 0 和 7 都代表周日。command则是需要执行的具体命令或脚本路径。除了使用星号表示任意值还可以使用以下特殊符号和表达式,用于指定多个值例如1,15 * * * *表示在每小时的第 1 分钟和第 15 分钟执行任务。-用于指定一个范围例如1-10 * * * *表示在每小时的第 1 到第 10 分钟执行任务。/n用于指定间隔例如*/5 * * * *表示每隔 5 分钟执行一次任务。四、实用案例分享案例 1每天凌晨 2 点备份数据库0 2 * * * /path/to/backup_script.sh上述配置表示每天凌晨 2 点 0 分执行/path/to/backup_script.sh脚本实现数据库备份。案例 2每周一至周五上午 9 点发送日报邮件0 9 * * 1-5 /path/to/send_daily_report.sh该配置会在每周一至周五的上午 9 点整执行/path/to/send_daily_report.sh脚本自动发送日报邮件。案例 3每月 1 号凌晨 1 点清理日志文件0 1 1 * * rm -rf /var/log/*.log此配置将在每个月的 1 号凌晨 1 点删除/var/log/目录下的所有日志文件。last命令# 按日期统计失败登录次数 lastb | awk {print $5, $6} | sort | uniq -c | sort -rn # 指定时间范围后再统计 lastb -s 7 days ago | awk {print $5, $6} | sort | uniq -c | sort -rn # 按日期IP 联合统计 lastb -s 2026-08-20 | awk {print $5, $6, $3} | sort | uniq -c | sort -rn | head -20 # 统计历史归档日志 lastb -f /var/log/btmp.1 | awk {print $5, $6} | sort | uniq -c | sort -rn # 按来源IP统计失败次数排查暴力破解 sudo lastb | awk {print $3} | sort | uniq -c | sort -rn | head -10 # 按被尝试的用户名统计 sudo lastb | awk {print $1} | sort | uniq -c | sort -rn | head -10 # 统计失败登录总次数 sudo lastb | wc -lawk命令# 打印每行的第 1 和第 3 列 awk {print $1, $3} file.txt # 打印前 10 行替代 head awk NR10 file.txt # 打印最后一列 awk {print $NF} file.txt # 条件过滤第 3 列大于 100 的行 awk $3 100 {print $1, $3} file.txt # 正则匹配包含 ERROR 的行 awk /ERROR/ {print} log.txt # 统计每列出现的次数 awk {count[$1]} END {for (k in count) print k, count[k]} file.txt # 计算某列的总和与平均值 awk {sum$3} END {print sum, sum, avg, sum/NR} data.txt