crontab——定时任务

本文介绍了Linux系统中使用crontab进行定时任务的设置方法,包括添加、查看、删除用户crontab文件的命令,以及crontab文件的格式说明。通过实例展示了如何设置每分钟执行一次、特定时间执行以及间隔执行任务。同时,提醒注意环境变量和文件路径应使用绝对路径,并解决了crontab命令中百分号可能导致的问题。

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

通过crontab,我们可以定时运行一些命令和Shell脚本
crontab [-u user] <-l | -r | -e> [-i]

  • -u user:指定user用户的crontab
  • -l:显示user用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容
  • -r:删除user用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件
  • -e:编辑user用户的crontab文件,如果不指定用户,则默认编辑当前用户的crontab文件(不推荐使用文本编辑器直接修改crontab文件,建议使用crontab -e来进行修改)
  • -i:在删除用户的crontab文件时询问

crontab文件格式:

*****Command
分钟(0-59)小时(0-23)日(1-31)月(1-12)星期(0-7)命令

注:星期中0和7都代表星期天

实例:

每1分钟执行一次ls

* * * * * /bin/ls

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

3,15 8-11 * * * Command

每隔两天的上午8点到11点的第3和第15分钟执行

3,15 8-11 */2  *  * Command

每一小时重启smb

* */1 * * * /etc/init.d/smb restart

注意环境变量问题
脚本中涉及文件路径时写绝对路径

在crontab的命令列中,% 有特殊的作用,它会被认为是换行符,而第一个百分号后面的内容会被当作标准输入传给百分号之前的命令。

利用这个特性,可以这样写命令

* * * * * cat - % test crontab percent-signs

以上crontab在被执行的时候,由于百分号的特殊作用,实际上效果是等同于:

echo ' test crontab percent-signs' | cat -

\%代替%即可解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值