linux 定时任务

使用 crontab

Usage: crontab -u user -e\|-l\|-r

Crontab 的格式说明如下:

* 逗号(',') 指定列表值。如: "1,3,4,7,8″

* 中横线('-') 指定范围值 如 "1-6″, 代表 "1,2,3,4,5,6″

* 星号 ('*') 代表所有可能的值

*/15 表示每 15 分钟执行一次

Use the hash sign to prefix a comment

+---------------- minute (0 -- 59)

| +------------- hour (0 -- 23)

| | +---------- day of month (1 -- 31)

| | | +------- month (1 -- 12)

| | | | +---- day of week (0 -- 7) (Sunday=0 or 7)

| | | | |

* * * * * command to be executed

格式按照如下图所示。

技术|Linux/UNIX 定时任务 cron 详解

注意事项:

1)脚本中涉及文件路径时写全局路径;

2)脚本执行要用到java或其他环境变量时,通过source命令引入环境变量

3)当手动执行脚本OK,但是crontab死活不执行时。这时必须大胆怀疑是环境变量惹的祸,并可以尝试在crontab中直接引入环境变量解决问题。

3.其他应该注意的问题

1)新创建的cron job,不会马上执行,至少要过2分钟才执行。如果重启cron则马上执行。

2)每条 JOB 执行完毕之后,系统会自动将输出发送邮件给当前系统用户。日积月累,非常的多,甚至会撑爆整个系统。所以每条 JOB 命令后面进行重定向处理是非常必要的: >/dev/null 2>&1 。前提是对 Job 中的命令需要正常输出已经作了一定的处理, 比如追加到某个特定日志文件。

3)当crontab突然失效时,可以尝试/etc/init.d/crond restart解决问题。或者查看日志看某个job有没有执行/报错tail -f /var/log/cron。

4)千万别乱运行crontab -r。它从Crontab目录(/var/spool/cron)中删除用户的Crontab文件。删除了该用户的所有crontab都没了。

5)在crontab中%是有特殊含义的,表示换行的意思。如果要用的话必须进行转义\%,如经常用的date '+%Y%m%d'在crontab里是不会执行的,应该换成date '+\%Y\%m\%d'`。

https://www.cnblogs.com/javabg/p/10535940.html

相关推荐
名字还没想好☜5 小时前
用 systemd 托管后台服务:Restart 策略、日志接管、资源限制与开机自启全踩一遍
运维·docker·kubernetes
乌恩大侠6 小时前
GH200 新增 NVMe SSD 分区、格式化与挂载完整流程
运维·服务器·前端
tangwangbi6 小时前
Linux 系统配置文件:/etc/profile、~/.bashrc 和 ~/.bash_profile 三者之间的区别与作用
linux·运维·bash
蜀道山老天师7 小时前
Shell Bash变量与运算符(含条件测试与流程控制)
linux·运维·bash
Mr.朱鹏7 小时前
Linux 服务器 LVM 根分区在线动态扩容
linux·服务器·数据库
草邦设计开发团队_媒体资源平台7 小时前
GEO 信源整合一键发布软文:从内容生产到流量获客的自动化实践
运维·人工智能·自动化
zhou lily7 小时前
非标自动化管理系统ERP如何选?2026年10大ERP软件对比分析
运维·自动化
mengge.cloud7 小时前
存储技术基础小白教程
linux·运维·服务器·wpf·存储
云贝贝贝8 小时前
腾讯云 TDSQL(MySQL 版)运维高频 6 坑:代理路由、读写分离、分片键、监控、PITR
运维·mysql·腾讯云
小五传输8 小时前
FTP替代怎么做?医院文件安全传输选型与迁移指南
大数据·运维·安全