linux定时任务crond

linux系统是通过crond服务来控制计划任务的(crond是linux下用来周期性的执行某种任务或者等待处理某些事件的守护进程)。在安装完操作系统之后,会默认启动crond服务(crond进程每分钟会定期检查是否有要执行的任务,如果有则自动执行)。

而我们定制设置计划任务,也提供有对应的命令 crontab

crontab配置文件在/etc/crontab

权限文件:/etc/cron.deny

crontab文件存放目录:/var/spool/cron/

crontab命令:

        crontab [-u user] file 

        crontab [-u user] [ -e | -l | -r ]

命令参数说明:

-u user:用来设定某个用户的crontab服务,例如,“-u ixdba”表示设定ixdba用户的crontab服务,此参数一般有root用户来运行。
file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab。
-e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。
-l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。
-r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。
-i:在删除用户的crontab文件时给确认提示。

以下举个例子:

添加执行shell脚本, 如创建clean_log.sh定期删除文件:

#!/bin/bash

echo "del log start ...."

find /filepath1/log -mtime +5 -name "*.log" -exec rm -rf {} \;
find /filepath2/log -mtime +5 -name "*.log" -exec rm -rf {} \;
find /filepath3/log -mtime +5 -name "*.log" -exec rm -rf {} \;

echo "del log end ...."
 

将此执行脚本添加到定时任务中:

执行 crontab -e进行编辑

添加执行周期和执行脚本 :0 2 * * * /xxx/.../clean_log.sh

此时可以在存放路径下看到:

[root@xxx.xx.xx.xxx cron]# cat root 
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
0 2 * * * /home/test_user/clean_log.sh

注意事项:

新创建的 cron 任务,不会马上执行,至少要过 2 分钟后才可以,重启 cron 可以实现立刻执行。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值