crontab定时任务

crontab命令用于在固定时间间隔执行指定系统指令或shell脚本,适用于周期性日志分析和数据备份。文章介绍了命令参数、文件格式、使用实例及注意事项,包括分钟、小时、日期、月份和星期的设定,以及解决环境变量问题的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过crontab 命令,我们可以在固定的间隔时间执行指定的系统指令或 shell script脚本。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常适合周期性的日志分析或数据备份等工作。

一、 命令参数

1.crontab -l

显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。

2.crontab -e

编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。

26 9 * * 1,2,3,4,5 /usr/bin/python /home/workspace/stock/mainInfoOpenBuy1.py

输入上面的内容后,:wq保存,退出后就可直接运行了

3.crontab -r

如果不指定用户,则默认删除当前用户的crontab文件。

二、 文件格式

分 时 日 月 星期 要运行的命令

  • 第1列分钟0~59
  • 第2列小时0~23(0表示子夜)
  • 第3列日1~31
  • 第4列月1~12
  • 第5列星期0~7(0和7表示星期天)
  • 第6列要运行的命令

三、 使用实例

1.每1分钟执行一次myCommand

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

:表示每一的意思

2.每小时的第3和第15分钟执行

3,15 * * * * myCommand

3.在上午8点到11点的第3和第15分钟执行

3,15 8-11 * * * myCommand

4.每月1、10、22日的4 : 45执行

45 4 1,10,22 * * myCommand

5.每周六、周日的1 : 10执行

10 1 * * 6,0 myCommand

四、 注意事项

有时我们创建了一个crontab,但是这个任务却无法自动执行,而手动执行这个任务却没有问题,这种情况一般是由于在crontab文件中没有配置环境变量引起的。

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

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

cat start_cbp.sh
!/bin/sh
source /etc/profile

3.当手动执行脚本OK,但是crontab死活不执行时,很可能是环境变量惹的祸,可尝试在crontab中直接引入环境变量解决问题。如:

0 * * * * . /etc/profile;/bin/sh /var/www/java/audit_no_count/bin/restart_audit.sh
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值