linux删除shell和定时任务

删除shell

    find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;

说明:
将/opt/soft/log/目录下所有30天前带”.log”的文件删除。具体参数说明如下:
find:linux的查找命令,用户查找指定条件的文件;
/opt/soft/log/:想要进行清理的任意目录;
-mtime:标准语句写法;
+30:查找30天前的文件,这里用数字代表天数;
-name: 固定写法;
.log”:希望查找的数据类型,”.jpg”表示查找扩展名为jpg的所有文件,”*”表示查找所有文件,这个可以灵活运用,举一反三;
-exec:固定写法;
rm -rf:强制删除文件,包括目录;
{} \; :固定写法,一对大括号+空格++;

定时任务
新建文件 shell 文件auto-del-30-day-log.sh 在home/test/bin目录下

touch auto-del-30-day-log.sh
vi auto-del-30-day-log.sh

    find /opt/soft/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;

写进去

crontab -e 这个指令 i,进入shell脚本编辑状态

10 0 * * * /home/test/bin/auto-del-30-day-log.sh>/dev/null 2>&1

“/dev/null 2>&1”表示先将标准输出重定向到/dev/null,然后将标准错误重定向到标准输出,由于标准输出已经重定向到了/dev/null,因此标准错误也会重定向到/dev/null,这样日志输出问题就解决了。
10 0 * * * 表示每天0点10分执行这个删除脚本

分 小时 日 月 星期

0-59 0-23 1-31 1-12 0-6

特殊符号:* 范围的所有数字, / 每 , - 范围 , ‘,’集合

每隔30分钟,每天晚上的凌晨3点-5点:/30 3-5 * *

每30分钟执行一次任务 /30 * * *

使用crontab -l 查看当前用户下正在执行的定时任务

crontab -l

最最重要的一点,如果全部可以但是就是未见执行,要考虑当前用户是否有操作shell脚本的权限
赋权

chmod 777 auto-del-30-day-log.sh
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

涯一涯二涯三

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值