linux篇-linux定时任务crontab简书

corntab是linux的定时任务,主要是用于对linux服务文件进行备份或删除,搭配shell脚本来执行,比如说对日志文件定期删除或备份
简单以删除linux文件作为例子说明

创建删除日志shell脚本

source /etc/profile
find /home/dbbak/ -mtime +7 -type f -name "*.sql.*" -exec rm -f {} \;

/home/dbbak是存放日志的位置,*.sql.*是找到以文件名内包含了.sql.的文件,+7是表示只保存7天的日志,其他时间段的日志都删除
脚本创建好可以直接sh执行下,检验下shell脚本是否可以执行,执行效果是否正常
日志策略是:每天会创建一个日志文件,文件名命名规则是xxx.sql.log,以往的日志在文件名后携带日期

设置定时任务

crontab [-u username]    //省略用户表表示操作当前用户的crontab
    -e      (编辑工作表)
    -l      (列出工作表里的命令)
    -r      (删除工作作)

进入编辑,采用cron表达式+需要执行的shell脚本命令比如:

* * * * * sh /root/shell/logs.sh

每分钟执行一次logs.sh,设置完后保存wq文件退出编辑,如果编辑中存在错误语法,会提示错误信息,按y可以进入原先编辑模式,检查语法进行编辑,按n退出编辑

检查定时当前存在哪些定时任务

crontab -l

显示当前执行着的定时任务

检验定时任务是否有执行

查看日志存放位置,是否删除了只剩下前8天的日志,超过前8天的日志都删除了,当前这里需要保证日志有足够多,具体shell脚本怎么编辑删除,请自行查看其他资料
为什么是8天,linux中find的语法问题,+n是指(n+1)天之前的文件,-mtime是指文件最近一次修改时间,结合上述的表达式可推算出是删除8天前上创建的日志

crontab的cron表达式与springboot的cron表达式

特别注意了。crontab的cron表达式与springboot的cron表达式的语法位数是不一样的,一定要注意,千万不要直接将springboot的定时任务中cron表达式套用在crontab上,至于我为什么知道??????、你们懂的!!!!!哈哈哈哈

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值