优秀的编程知识分享平台

网站首页 > 技术文章 正文

linux删除shell和定时任务(linux如何删除定时任务)

nanyue 2024-09-11 05:23:45 技术文章 5 ℃

删除shell

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

  • 1

说明:

将/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

  • 1
  • 2

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

  • 1

写进去

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

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

  • 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

  • 1

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

赋权

chmod 777 auto-del-30-day-log.sh

最近发表
标签列表